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
?
- ¿Cómo acceder a elementos html contenidos dentro de una webview?
- Se bloquea el video HTML 5 al ir a pantalla completa
- WebView no se inicia cuando se inicia la aplicación
- Mostrar documento de Google Docs en un WebView
- Admob bloquea nuestra aplicación con NullPointerException en DeviceMotionService
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.
- Cargar una div en una vista web en Android
- Android: WebView - abrir ciertas URL dentro de WebView, el resto en el exterior?
- Ejecutar código javascript en Webview
- Android WebView muestra una página en blanco
- ¿Cómo paso valores de retorno de una función javascript a android?
- Android: Imagen de carga de WebView en el centro
- Webview con interfaz de JavaScript
- Webview con pantalla completa en android
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