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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Roben518/article/details/52302116
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....果然,没有弹出“程序已停止运行”之类的了。。


没有更多推荐了,返回首页