studio propiedades examples example javascript android webview

javascript - propiedades - webview android studio 2018



Android WebView loadUrl JavaScript no funciona API<= 18(pero funciona en API>=19) (2)

PREGUNTA:
¿Qué debo hacer para que webView.loadUrl (javaScript) funcione en API 18 o inferior (en comparación con API 19 o superior)?

DESCRIPCIÓN DEL PROBLEMA:
Estoy usando WebView para hacer un chat.

  1. Primero, cargué el HTML de esta manera: webView.loadUrl (url);
  2. Luego utilizo loadUrl nuevamente para enviar el mensaje de chat como sigue : webView.loadUrl (javaScript);

Esto funciona perfectamente bien en API> = 19, pero no funciona en API <= 18.

Los mensajes de chat aún se reciben de otros dispositivos, pero los otros dispositivos no reciben un solo mensaje del dispositivo con API 18 o inferior. Se usa exactamente el mismo código.

He buscado mucho y continuaré buscando. Si tiene la respuesta, cualquier idea que pueda probar o podría redirigirme a información relevante, sírvase compartirla. Gracias de antemano.

EDITAR:
La etiqueta de JavaScript en la cadena se establece en minúsculas (con el mismo problema): webView.loadUrl ("javascript:" + javaScriptFunction);


No puedo estar seguro de que esto sea lo que está causando tu problema, pero intenta usar

webView.loadUrl("javascript:" + theJavaScriptCode);

con "javascript:" minúsculas.

La API 19+ no se preocupa por el caso del protocolo JavaScript en loadUrl (aunque puede usar evaluateJavascript() lugar en API 19+), pero API 18 y down no lo reconoce a menos que esté escrito en minúsculas.


SOLUCIÓN

Encontré el problema que era que el parámetro del mensaje (codificado) enviado en la función de JavaScript tenía un salto de línea [ / n ] en él. Quitando eso usando la función de división msg.split ("/ n"); lo hizo funcionar.