Ich möchte den standardmäßigen Android-Browser für eine bestimmte URL ausführen. Ich verwende diesen Code:Starten der Browserabsicht mit benutzerdefinierter Klasse - Aktivität
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);
Der Fehler, den ich erhalten ist:
Unable to find explicit activity class {
com.google.android.browser/com.android.browser.BrowserActivity};
have you declared this activity in your AndroidManifest.xml?
Ich habe auch versucht, die Absichten Filterung durch das Paket:
i.setPackage("com.google.android.browser");
statt setClassName
, sondern zu Nr.
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 }
Ich habe auch versucht, <uses-library android:name="com.google.android.browser" />
dem Manifest hinzuzufügen.
Fehle ich hier etwas?
PS: Ich bin nicht daran interessiert, startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com")))
zu verwenden, da es alle Wahlen für das Surfen Intent
auflisten wird.
Wie ich in meiner Frage angegeben habe, möchte ich in der Lage sein, den * Standard-Android-Browser *, nicht den * standardmäßig ausgewählten * Browser auszuführen. Als Seitenknoten habe ich zuerst mit der von Ihnen erwähnten Lösung versucht, aber ohne Erfolg, da sie offensichtlich den standardmäßig eingestellten Browser startet (oder den Anwendungswähler startet). –
Wie verwendet man diese Absicht in einer Nicht-Aktivitätsklasse? – Maxwell
Der Nachteil dafür - für lokale HTML-Dateien startet es HTMLViewer App statt Browser. – JustAMartin