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 ?

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.

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); 

}

  • ¿Cómo paso valores de retorno de una función javascript a android?
  • JavaScript no funciona en Android Webview?
  • Cómo obtener el evento de la finalización del video de youtube en android webview
  • WebViewClient onReceivedError obsoleta, la nueva versión no detecta todos los errores
  • ¿Cómo puedo ver errores de JavaScript en WebView en una aplicación para Android?
  • Vista web de Android "Sincronizar sintaxis: Error inesperado ILEGAL"
  • Prevención de la autolinking de correos electrónicos y URLs en un WebView de Android
  • Android WebView app fallando en el emulador: null Contexto de la aplicación?
  • Programmatic haga clic en Android WebView
  • Cómo mostrar el progreso al cargar una url a webview en android?
  • Webview con interfaz de JavaScript
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.