我想为给定的URL专门运行默认的
Android浏览器.我正在使用这段代码:
Intent i = new Intent(); i.setAction("android.intent.action.VIEW"); i.addCategory("android.intent.category.BROWSABLE"); i.setClassName("com.google.android.browser","com.android.browser.BrowserActivity"); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); i.setData(Uri.parse(url)); startActivity(i);
我收到的错误是:
Unable to find explicit activity class { com.google.android.browser/com.android.browser.BrowserActivity}; have you declared this activity in your AndroidManifest.xml?
我也试图通过包过滤目的:
i.setPackage("com.google.android.browser");
而不是setClassName,但无效:
No Activity found to handle Intent { act=android.intent.action.VIEW cat=[android.intent.category.BROWSABLE] dat=http://www.google.com/ flg=0x10000000 pkg=android }
我还尝试添加< uses-library android:name =“com.google.android.browser”/>到清单.
我在这里遗漏了什么吗?
PS:我不喜欢使用startActivity(新的Intent(Intent.ACTION_VIEW,Uri.parse(“http://www.google.com”))),因为它将列出浏览Intent的所有选择.
解决方法
我用这个,没关系
intent.setComponent(new ComponentName("com.android.browser","com.android.browser.BrowserActivity"));
我想你知道什么错了.