Inicia el navegador con clase personalizada – no se puede encontrar la actividad
Quiero ejecutar específicamente el navegador predeterminado de Android para una URL determinada. Estoy usando este código:
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);
El error que recibo es:
- Mi dispositivo no aparece en "Selector de dispositivos Android" de repente
- OpenCV Android - edición de color usando CameraBridgeViewBase
- Emulador no se ejecuta
- Reaccionar aplicación nativa sigue cerrando en el emulador de Android
- Enviar formulario html de forma programática en android
Unable to find explicit activity class { com.google.android.browser/com.android.browser.BrowserActivity}; have you declared this activity in your AndroidManifest.xml?
También intenté filtrar las intenciones por el paquete:
i.setPackage("com.google.android.browser");
En lugar de setClassName
, pero sin resultado:
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 }
También intenté agregar <uses-library android:name="com.google.android.browser" />
al manifiesto.
¿Me estoy perdiendo de algo?
PS: No estoy interesado en usar startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com")))
ya que mostrará todas las opciones para el Intent
navegación.
- Cómo utilizar Android OS VirtualBox como dispositivo en Eclipse
- Android Studio 1.5 donde poner opciones de emulador
- El teclado dejó de funcionar en el emulador Intel x86 Android después de actualizar a ADT 20
- Error de EGL al intentar ejecutar mapsActivity en el emulador de Android
- Mejor configuración de emulador de Android?
- La aplicación de Android no puede acceder a la ubicación en el emulador mediante FusedLocationApi
- Cómo abrir el archivo .gif como InputStream desde el almacenamiento externo en android
- Mi aplicación no aparece en el AVD, después de ejecutar desde eclipse
Yo uso esto, está bien.
intent.setComponent(new ComponentName("com.android.browser", "com.android.browser.BrowserActivity"));
Creo que sabes lo que está mal. 🙂
Tenga en cuenta que el navegador predeterminado puede ser anulado y no siempre es la aplicación integrada en el navegador, puede ser por ejemplo Opera Mini.
Debe hacer esto de la siguiente manera:
Intent intent = new Intent(Intent.ACTION_VIEW); Uri data = Uri.parse("http://www.google.com"); intent.setData(data); startActivity(intent);
Una forma de abrir una URL en un navegador desde el código es usar una vista web.
Cree una WebViewClientClass que amplíe el WebViewClient como:
public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; }
A continuación, cree una vista web. Set webview.setWebViewClient(new WebViewClientClass());
— esta es una pequeña solución para que el navegador web predeterminado no asuma el control.
A continuación, tome la url en un edittext y configurarlo para cargar el navegador como:
webview.loadurl(urlfield.getText().toString()); webview.requestFocus();
Esto debería cargar el navegador web con la URL que usted solicitó.
Espero que esto ayude… 🙂
- Actividad temática de diálogo: botones positivos y negativos
- ¿Cómo dibujar una línea entre puntos y tirar de esos puntos?