【发布时间】:2011-03-20 17:38:00
【问题描述】:
我想专门为给定的 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(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"))) 不感兴趣,因为它会列出浏览Intent 的所有选项。
【问题讨论】:
标签: android android-emulator android-intent android-browser