Actividad de la llamada de WebView SDK de Android
Estoy intentando iniciar una Actividad al hacer clic en un enlace dentro de un componente de WebView.
Mi Webview se carga dentro de Main.java
y me gustaría lanzar SubActivity.java
al hacer clic en un enlace dentro del sitio web que está en Main.java
?
- Webfonts de Google que no funcionan con Web View en Android 4.0 y 4.2.2
- ¿Cómo puedo ver los encabezados de solicitudes en las solicitudes de Android WebView?
- El mejor enfoque para pasar datos desde la vista web a la aplicación nativa (Windows, iOS y Android)
- La función Javascript no se llama en la vista web de android
- Android- usando addJavaScriptInterface para devolver un valor de Javascript
Además, ¿cómo puedo pasar parámetros a esta actividad?
Ejemplo : inspection://Project/1
"Inspección" es el nombre de mi solicitud, la inspection
es la actividad que me gustaría lanzar y 1
es la identificación que me gustaría tener.
- Inyectar JavaScript antes de html cargado con Android WebView
- Reemplazar o manejar el botón "Ir" en WebView
- Cómo ocultar barras de desplazamiento en Android WebView a través de React Native
- Android Webview: "Uncaught TypeError: No se puede leer la propiedad 'getItem' de null"
- ¿Cómo acceder a elementos html contenidos dentro de una webview?
- JQuery getScript no funciona en Android WebView cuando se utiliza Activos locales / HTML / Recursos
- Imagen de la vista web de Android: renderizar al centro en lugar de a la esquina superior izquierda
- Uncaught ReferenceError: miFunción no está definida en null: 1 Excepción de Android en la vista web
Puede utilizar la función addJavaScriptInterface de WebView para permitir que JavaScript controle su aplicación (en este caso, para permitir que JavaScript active una intención cuando se hace clic en un enlace).
Para hacer esto usted necesita pasar una instancia de clase para enlazar a JavaScript, esto podría ser algo como lo siguiente:
private final class JsInterface { public void launchIntent(final String payload) { Activity.this.runOnUiThread(new Runnable() { @Override public void run() { // use the payload if you want, attach as an extra, switch destination, etc. Activity.this.startActivity(new Intent(Activity.this, SomeOtherActivity.class)); } }); } }
A continuación, añade que a la WebView con algo en esta línea:
webView.addJavascriptInterface(js, "Android");
Luego, en JavaScript de la WebView, sólo usa el método "launchIntent" del nuevo objeto "Android".
Una opción es anular la carga de la URL de la vista web y recoger el clic que desea iniciar la nueva actividad. Compruebe el uso de un WebViewClient subclasificado en los documentos:
http://developer.android.com/resources/tutorials/views/hello-webview.html
Otra opción es vincular su actividad a un esquema de URL personalizado. Es bastante común hacer OAuth cliente, a menudo a través del navegador en lugar de un WebView, pero debería funcionar de manera similar. Aquí hay un ejemplo completo:
https://github.com/brione/Brion-Learns-OAuth
Que muestra cómo vincular el manejador del esquema url, así como el manejo de obtener lanzado a través de la Intención que genera (ver onResume () en OAUTH.java).
Primero Agregue el método javascript en el botón de su página web onclick () La función definida a continuación.
function showAndroidToast(toast) { AndroidFunction.showToast(toast); }
Android Código está aquí para javascript Interfaz ..
public class MyJavaScriptInterface { Context mContext; private Activity activity; public MyJavaScriptInterface(Activity activiy) { this.activity = activiy; } @JavascriptInterface public void showToast(String toast){ Intent i=new Intent(getApplicationContext(), Subactivity.class); i.putExtra("data", "tosecondActivity"); startActivity(i);
}
- Línea dibujable debajo de textview no mostrando
- Tamaño del cuadro de diálogo Alerta o Cuadro de diálogo Alerta personalizada