我想專門運行給定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瀏覽器*,而不是*默認選定的*瀏覽器。作爲一個邊節點,我首先嚐試了您提到的解決方案,但無濟於事,因爲它顯然會啓動默認設置的瀏覽器(或啓動應用程序選擇器)。 – 2010-07-25 15:15:21
如何在非活動類中使用這個意圖? – Maxwell 2014-05-03 06:36:12
這個缺點 - 對於本地html文件,它啓動HTMLViewer應用程序而不是瀏覽器。 – JustAMartin 2017-02-20 16:55:05