Я написал код Javascript, который содержит обработчик обратного вызова для моего приложения для Android, и внедрил его из моего кода Android.Он запускает событие обратного вызова, когда мы выполняем действие воспроизведения / паузы видео в веб-просмотре и возвращаем событие в обратном вызове.Мы внедряем Javascript код формы как пластинчатая форма (iOS и Android)
Но, к сожалению, в iOS все данные о значениях событий получают, но в Android они показывают "undefined"
Ниже мой код JavaScriptкоторый вводится с Android
webView.addJavascriptInterface(new Object() {
@JavascriptInterface
public void getEvent(String data) {
Toast.makeText(getContext(), data , Toast.LENGTH_SHORT).show();
Log.w("TAGGG", "callBackEvent: " + data.toString() );
}
}, "abc");
@Override
public void onPageFinished(WebView view, String url) {
tvErrorMessage.setVisibility(View.INVISIBLE);
String scriptThree = "javascript:window.myApp_event =(function() {" +
"function notifyApp(event) {" +
"var myCallback = console.log(event);"+
"abc.getEvent(event);" + // This is callback for Android
"}" +
"var oExistingEvents = window.myApp_event || [];" +
"oExistingEvents.forEach(notifyApp);" +
"return {" +
"push: function(event) {" +
"notifyApp(event);" +
"}" +
"}" +
"})();";
webView.loadUrl(scriptThree);
}
Как мы можем получить то имя события, которое получено в iOS, но не в Android?