2015-07-28 6 views
1

У меня есть метод в моей учетной записи LoginActivity, и мне нужно вызвать его из Javascript. Я попытался добавить AddJavascriptInterface, но он не работает. Я не могу найти, как это сделать, и я столкнулся с этой проблемой. Я использую cordova-plugin-crosswalk-webview. Кордова Версия 5.1.1. Класс LoginActivity распространяется от CordovaActivity. БлагодаряCrosswalk Собственный интерфейс - cordova-plugin-crosswalk-webview

Код:

public class LoginActivity extends CordovaActivity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     loadUrl("file://android_assets/www/index.html"); 

     ((XWalkView) appView 
        .getEngine() 
        .getView()) 
        .addJavascriptInterface(new JsInterface(), 
              "NativeInterface"); 

    } 

} 

В index.html, когда я использую console.log(); NativeInterface не определен, но переменная _cordovaNative реализована внутри класса XWalkWebViewEngine.

+0

Вы говорите: «Это не ... работает». Можете быть более конкретными? Гораздо проще ответить, когда вы очень конкретно о том, что вы пробовали, о том, что вы ожидали, и о том, что произошло. Некоторые из советов в [Создание минимального, полного, проверяемого примера] (http://stackoverflow.com/help/mcve) могут помочь вам. – RJHunter

+0

Извините RJ, я добавил более подробную информацию. –

ответ

0

Я наконец нашел anwser. После двух дней застрял с ним. Методы внутри класса JsInterface должны быть аннотированы с @ org.xwalk.core.JavascriptInterface not @JavascriptInterface.

Кто бы мог когда-нибудь гость?

Смежные вопросы