fluttercommunity / fluttercommunity/flutter_webview_plugin
i want to call custom flutter function from javascription fuction.
- Lenguaje dominante
- Java
- Estrellas
- 1.5k
- Forks
- 938
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
Here is my code.
MainActivity.kt
override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
GeneratedPluginRegistrant.registerWith(flutterEngine);
}
WebviewManager.java
webView.addJavascriptInterface(new WebAppInterface(), "Android");
//////////////
public class WebAppInterface {
@JavascriptInterface
public void getPostMessage(String value){
Map postMessageMap = new HashMap<>();
postMessageMap.put("postMessage", value);
FlutterWebviewPlugin.channel.invokeMethod("onPostMessage", postMessageMap);
}
}
dart file :
flutterWebViewPlugin.onStateChanged.listen((state) async {
if(state.type == WebViewState.finishLoad) {
String script = 'window.addEventListener("message", sendWhatsApp,false);' +
'function sendWhatsApp(msg) {Android.postMessage("data");}';
flutterWebViewPlugin.evalJavascript(script);
}
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Comienza reproduciendo el flujo JavaScript-to-native-to-Dart descrito en MainActivity.kt, WebviewManager.java y el listener Dart onStateChanged. Aclara la función personalizada de Flutter esperada y verifica si la interfaz JavaScript existente y el canal FlutterWebviewPlugin pueden entregar esa llamada; se considera terminado cuando la invocación solicitada funciona con un ejemplo documentado.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- dart, java, javascript, kotlin
- Área
- mobile-dev
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100