您的位置:首页 > 移动开发 > Android开发

Android 调用浏览器 出现activitynotfoundexception解决思路的总结

2016-08-24 16:58 369 查看
Intent intent = new Intent();

intent.setAction(Intent.ACTION_VIEW);

intent.setData(Uri.parse(url));

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

intent.setPackage(mTopPkgName);

mContext.startActivity(intent);

楼主我的需求是打开浏览器到指定的url, 出现了 android.content.ActivityNotFoundException:NoActivity found to handle Intent{。。。。。。。。。。}

莫名的奇怪的出现了,之前都正常的。

解决思路一:url的问题, 很多时候写死的url没有加http://

楼主我的url是服务器获取回来的,不会出现这种情况。

解决思路二:intent.setComponent(newComponentName("com.android.browser","com.android.browser.BrowserActivity"));
意思是通过指定具体的组件类来启动,但楼主的需求是点击任何浏览器都得启动,显然也不合适。

解决思路三:
清单文件中添加<category android:name="android.intent.category.DEFAULT"/>。。没卵用,楼主都没有Activity, 都是在Service里启动浏览器的,这个排除了。

解决思路四:楼主也仔细琢磨了一下,我的程序虽然弹出“程序已停止运行”,但是实际并没有crash掉,log也有报错。非常诡异,非常蛋疼。。后来干脆就把上面的代码加了try
catch....果然,没有弹出“程序已停止运行”之类的了。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐