Lancer le Navigateur avec l'Intention de Classe Personnalisée, impossible de trouver l'Activité
Je veux spécifiquement exécutez le navigateur Android par défaut pour une URL donnée. Je suis en utilisant ce 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);
L'erreur que je reçois est:
Unable to find explicit activity class {
com.google.android.browser/com.android.browser.BrowserActivity};
have you declared this activity in your AndroidManifest.xml?
J'ai aussi essayé de filtrage les intentions par le paquet:
i.setPackage("com.google.android.browser");
au lieu de setClassName
, mais en vain:
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 }
J'ai aussi essayé d'ajouter <uses-library android:name="com.google.android.browser" />
pour le manifeste.
Suis-je manqué quelque chose?
PS: je ne suis pas intéressé à l'aide de startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com")))
que c'est la liste de tous les choix pour la navigation Intent
.
OriginalL'auteur the_void | 2010-07-25
Vous devez vous connecter pour publier un commentaire.
j'utilise cela, c'est ok.
je pense que vous savez de quoi de mal. 🙂
OriginalL'auteur yuni
Veuillez noter que le navigateur par défaut peut être remplacée et il n'est pas toujours intégré dans le navigateur application, il peut être par exemple Opera Mini.
Vous avez besoin de le faire de cette façon:
comment utiliser cette intention, dans un non-activité de la classe??
L'inconvénient de cette - pour les fichiers html locaux il lance le contrôle htmlviewer app au lieu de navigateur.
OriginalL'auteur Pentium10
Une façon d'ouvrir une URL dans un navigateur de code est d'utiliser une webview .
Créer un WebViewClientClass qui s'étend de la WebViewClient comme :
Puis créer une webview.
Set webview.setWebViewClient(new WebViewClientClass());
--- c'est une petite solution de contournement, de sorte que le navigateur web par défaut ne prend pas plus d' .Puis prendre l'url dans un edittext et réglez-le pour charger le navigateur comme :
Cela devrait charger le navigateur web avec l'URL que vous avez demandé.
Espère que cela aide... 🙂
Je ne veux pas lancer une fenêtre de navigateur (ou utiliser perso navigateur). Je veux lancer le navigateur par défaut d'Android. Aussi, le lancement d'une fenêtre de navigateur introduirait une complexité supplémentaire, comme la gestion de la mémoire cache, les signets, le bouton de retour, etc, etc. Btw, veuillez formater votre code 😉
OriginalL'auteur Flash