I want to specifically run the default Android browser for a given URL. I'm using this code:
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);
The error I receive is:
Unable to find explicit activity class {
com.google.android.browser/com.android.browser.BrowserActivity};
have you declared this activity in your AndroidManifest.xml?
I also tried filtering the intents by the package:
i.setPackage("com.google.android.browser");
instead of setClassName
, but to no avail:
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 }
I also tried adding <uses-library android:name="com.google.android.browser" />
to the manifest.
Am I missing something here?
PS: I'm not interested in using startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com")))
as it will list all the choices for the browsing Intent
.
i use this, it's ok.
intent.setComponent(new ComponentName("com.android.browser", "com.android.browser.BrowserActivity"));
i think you know what wrong. :)
Please note the default browser can be overridden and it's not always the built in browser app, it can be for example Opera Mini.
You need to do this way:
Intent intent = new Intent(Intent.ACTION_VIEW);
Uri data = Uri.parse("http://www.google.com");
intent.setData(data);
startActivity(intent);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With