我自己的手机(一加一代,升级了氢OS),然后在点击游戏内一个“隐私政策”-- 需要打开一个网页,然后就crash了。出错的信息如下:

完全是看不出来,然后我单独写了一个demo来测试那段代码,发现错误的详情是这样:

09-29 11:45:27.576: E/AndroidRuntime(17871): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW cat=[android.intent.category.BROWSABLE] dat=http://url typ=text/html }

没有能响应指定Intent的Activity,但是我手机查看订阅号的文章,点击右上角“在浏览器上打开”,是可以弹出选择浏览器的界面,正常的。

总共也就几段代码,我就分析了一下,然后找到了问题:

@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);

    Button btnOpenBrowser = (Button) findViewById(R.id.btn_open_browser);    btnOpenBrowser.setOnClickListener(new OnClickListener() {        @Override        public void onClick(View v) {            // TODO Auto-generated method stub            Log.i("meteoric", "click");

            String strUrl = "http://cdn.haowanyou.com/mobile/comm/gtqz/yhxy.html";

            Uri uri = Uri.parse(strUrl);  

            Intent intent = new Intent(Intent.ACTION_VIEW);            intent.addCategory(Intent.CATEGORY_BROWSABLE);

            intent.setData(uri);//          intent.setDataAndType(uri, "text/html");

            startActivity(intent);        }    });}

被注释掉的代码就是产生crash的地方,改动的地方就是用setData替代setDataAndType方法。当指定MIME类型为text/html,没有Activity能响应。dat 后面有一个参数叫 typ,也就是没有Activity能捕捉到typ为text/html的那个Intent。

其实最好在startActivity的时候,能try catch一下,当指定的MIMIE类型为邮箱时,手机上没有安装邮箱客户端就会crash了。鉴于MIME的问题,我暂时只是去掉了type,公司测试组那边5.0以下的设备测试没有我这个问题,不确定是氢OS的问题,还是所有5.0系统都是如此,有兴趣的同学可以自行测试一下。

Android调用浏览器打开网址遇到的问题相关推荐

  1. cocos2dx 调用oc java_cocos2dx 调用浏览器打开网址

    1.修改安卓端: CCApplication.cpp/h 打开路径:cocos2dx/platform/android目录,在类中增加函数: 声明 public: //jingz 龙谷修改 void ...

  2. iOS开发-调用手机浏览器打开网址

    我们需要使用调用Safari浏览器打开网址,或者调用scheme跳转其他app,或者调用系统打电话.邮件.地图等. 在iOS 10之前需要使用: NSString *openURL = @" ...

  3. android 使用浏览器打开指定页面

    今天,简单讲讲android里如何使用浏览器打开指定的网页. 之前,我做一个功能时,服务器返回一个url地址,我需要跳转到指定网页.却发现自己不知道怎么做,在网上搜索了资料,最终是解决了问题.这里记录 ...

  4. Java调用浏览器打开指定页面的5种方法(最全)

    package com.xbz;import java.awt.*; import java.lang.reflect.Method; import java.net.URI; import java ...

  5. Java实现调用默认浏览器打开网址

    Java中实现调用浏览器打开想要的网址,可以实践在一些JFrame界面上的一些特定按钮的单击事件上,以此来实现点击即可打开想要的网址功能,代码如下,可根据实际需要进行整合你自己的项目中. packag ...

  6. java openurl不弹出新页面_Java调用浏览器打开指定页面的5种方法(最全)

    package com.xbz; import java.awt.*; import java.lang.reflect.Method; import java.net.URI; import jav ...

  7. android自动浏览网站,android 使用浏览器打开指定页面的实现方法

    之前,我做一个功能时,服务器返回一个url地址,我需要跳转到指定网页.却发现自己不知道怎么做,在网上搜索了资料,最终是解决了问题.这里记录一下. 启动android默认浏览器 在Android程序中我 ...

  8. java调用指定浏览器_Java调用浏览器打开网页完整实例

    本文实例讲述了java调用浏览器打开网页的方法.分享给大家供大家参考.具体实现方法如下: package com.yifang.demo; import java.io.file; public cl ...

  9. chrome浏览器打开网址找不到服务器IP

    chrome浏览器打开网址找不到服务器IP 电脑装完系统后,路由器重启了,安装了chrome浏览器,但是打开任何网址都显示找不到服务器ip,然后换360浏览器发现一切正常,说明网络是没问题的,然后通过 ...

最新文章

  1. 学javascript有哪些开发工具
  2. zlib 1.2.5 编译 ( VS2010 vc6 )
  3. 将jOOQ与Spring结合使用:配置
  4. Myeclipse6.5中安装maven
  5. 简易计算器里的小数点在程序中怎么表示_收藏!计算器使用攻略
  6. 动态规划实战6 leetcode-139. Word Break
  7. Nvivo 12 Plus WIN版本丨中文英文 软件安装包下载 安装教程步骤丨WIN系统
  8. html字体样式美化,css美化文字做法详解总结
  9. 校园招聘数电模电笔试题
  10. 数据库同步——中间数据库的实现方式
  11. SpringBoot+H5微信登陆(网页)
  12. IIS如何添加MIME类型.svg/.woff2/.woff
  13. 基于mupdf的PDF阅读器
  14. loss 加权_样本生而不等——聊聊那些对训练数据加权的方法
  15. 中国程序员独闯硅谷,逆袭成美国最佳 CEO,公司市值 160 亿美元!
  16. Verilog 总结
  17. 配色三部曲-创建自己的调色板
  18. 关于 中国操作系统 COS 的随笔
  19. 进入计算机管理界面win7,win7系统打开服务管理界面的操作方法
  20. 我所玩过的GALGAME——メンアットワーク!魔兽学院men at work2的中文版《永远的羁绊》全攻略

热门文章

  1. Elasticsearch——并发冲突以及解决方案
  2. Angular CLI 使用教程指南参考
  3. 【Android Demo】悬浮窗体实现
  4. Linux虚拟文件系统简介
  5. noip2014滚粗记
  6. 控件开发团队已做了第一步,我们已经有了QQ群!(大家注意,现在群还没有搞掂,请先等等,真对不起。)...
  7. 再迎利好,“预共识”或能助力BCH“零确认”安全可靠
  8. 比特币现金vs莱特币,谁将夺得小额支付市场?
  9. module r8169
  10. Xamarin.android Activity动画切换效果实现