Llame a la función javascript en Android WebView

Buena noches.

Tengo una actividad con WebView y el botón en él. Android sdk 17. El sitio web no es mío, así que no puedo cambiarlo de todos modos. Necesito hacer el código de js por el tecleo del botón del androide.

Estoy tratando de hacer esto

public class RostelecomLoginActivity extends Activity { WebView webView; String url; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_rostelecom_login); Intent webIntent = getIntent(); final String url = webIntent.getStringExtra("url"); webView = (WebView) findViewById(R.id.webView1); webView.getSettings().setJavaScriptEnabled(true); webView.getSettings().setSaveFormData(true); webView.getSettings().setSavePassword(true); Button button = (Button) findViewById(R.id.button1); button.setOnClickListener(new OnClickListener() { public void onClick(View v) { webView.addJavascriptInterface(new Object(){ @JavascriptInterface public void test(){ Log.d("JS", "test"); } },"Android"); webView.loadUrl("javascript:(function(){document.getElementById('mA').click();})()"); } }); webView.loadUrl(url); }} 

Pero no hace nada. ¿Cómo puedo llamar a mi js derecho?

Gracias.

 webview.loadUrl("javascript:functionName(\"" + argument + "\")"); 

Cambia tu línea con esto ..

 myWebView.loadUrl("javascript:testEcho('Hello World!')"); 

Probar esto podría ser útil para usted …

Supongo que está intentando llamar a la función de prueba cuando hace clic en el sitio web externo al que está accediendo.

La forma de llamar a las funciones que ha definido en el lado de Java es por el nombre que asignó cuando creó la interfaz javascript, en su caso "Android"

Así que la llamada será "window.Android.test ()"

También tienes que esperar para cargar el sitio web y luego inyectar el código javascript.

Echa un vistazo a la respuesta que hice hace algunas semanas con el código Hide WebView hasta que se hace JavaScript . Es un enfoque similar para administrar el JS y Java usando una vista web.

Considere comenzar a hacer una prueba sencilla cuando la página se cargue y, más tarde, agreguela dentro de la función de clic de JavaScript.

  • Cromo inspeccionar parpadeo con depuración remota
  • Galaxy Nexus ignora la metaetiqueta del visor
  • Android 2.2 Web View Windows se mueve hacia arriba cuando aparece Virtual Keyboard
  • cómo encontrar el recuento de elementos de la lista visible en el filtro de búsqueda jQuery mobile
  • XmlHttpRequest problema de publicación doble en Android
  • JavaScript visibilitchange Evento no dispara en Chrome móvil
  • IScroll 4 no funciona con el elemento form <select> iPhone Safari y navegador Android
  • Uso de jquery móvil toque en lugar de haga clic
  • Evento clave no se dispara en Firefox en Android cuando la sugerencia de palabras está activada
  • Deshabilitar el menú contextual de largos toques en Android
  • Configuración de las cookies de Webview de Android desde un archivo HTML en el directorio de activos
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.