Redirigir la vista web de Android con el filtro de intenciones
Tengo una URL específica que deseo redirigir a una actividad específica de mi aplicación desde una vista web con un filtro de intenciones. Cómo implementar mi propio esquema de URI en Android describió cómo hacer esto para una página de navegador, pero este mismo filtro de intención no funciona cuando se accede a esa URL a través de la vista web. ¿Hay algo más que se debe agregar a este filtro de intenciones para capturar estos vínculos de webview?
<intent-filter> <action android:name="android.intent.action.VIEW"></action> <category android:name="android.intent.category.DEFAULT"></category> <category android:name="android.intent.category.BROWSABLE"></category> <data android:host="myurl.com/stuff" android:scheme="http"></data> </intent-filter>`
- Android - WebView no reproduce videos de YouTube
- Mostrar página html que tiene algún objeto .swf con él
- Android Webview: No se puede llamar a determinedVisibility () - nunca vio una conexión para el pid
- Sherlock Acción invalidateOptionsMenu ()
- Pantalla en blanco de Android en onBack en un archivo loadDataWithBaseURL
- La vista web de Android no reproduce video, jwembedder
- Interceptar solicitud de fuente de video HTML5 en Android WebView
- Android Webview Error desconocido
- Cómo llamar al método Javascript desde la vista web en Android
- Android cómo mostrar PopupMenu en webview como GMail
- Reproducción de archivos de audio locales en la aplicación de visualización web de Android
- Android webView - cómo cambiar el color de fondo del diálogo webView?
- Cómo enviar datos POST con código en una vista web de Android
No tengo filtros de intención y webviews para trabajar juntos sólo con declarar la intención en el manifiesto y creo que no se supone que. (Me pregunto por qué …) Creo que la forma de hacerlo es capturar urls cuando se trata de abrirlos en la webview y crear una intención entonces.
Entonces, para un registro de actividad como sigue en el manifiesto:
<activity android:name=".PretendChat"> <intent-filter> <action android:name="android.intent.action.VIEW"></action> <category android:name="android.intent.category.DEFAULT"></category> <category android:name="android.intent.category.BROWSABLE"></category> <data android:host="chat" ></data> <data android:scheme="testing"></data> <data android:pathPattern=".*"></data> </intent-filter> </activity>
Usted esperaría que la actividad que PretendChat abra al hacer clic en un vínculo como el siguiente: "testing: // chat" dentro de la webview. Para que esto suceda, necesitará el siguiente código en el cliente de vista web que está utilizando en la vista web. Suponga que la actividad que inicia la vista web se llama WebviewActivity.
private class TestWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { try { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse(url)); WebviewActivity.this.startActivity(intent); } catch(ActivityNotFoundException e) { Log.e(LOGTAG,"Could not load url"+url); } return super.shouldOverrideUrlLoading(view, url); } }
- Reconocimiento de la actividad de Android con el receptor de escucha o de difusión?
- El menú deslizante no se abre al deslizar