2017-03-22 2 views
-1

こんにちはみんな、私はcordovaアプリケーションで問題に直面している私はcordovaのJavaスクリプトメソッドでアンドロイドのネイティブメソッドを呼び出す必要がありますどのように可能ですか?コードソアプリのJavaスクリプトとアンドロイドネイティブの間のインターフェイスを作る方法

私は何をしましたか?私は、これはあなたを助けるかもしれないと思う

<div class="Image" onclick="JSInterface.changeActivity();"> 

答えて

1

public class MainActivity extends CordovaActivity{ 

    JavaScriptInterface JSInterface; 

    private static final int PERMISSION_REQUEST_CODE_LOCATION = 1; 
    @SuppressLint("JavascriptInterface") 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 

     JSInterface = new JavaScriptInterface(this); 

     loadUrl("file:///android_asset/www/index.html"); 

     WebView webView = (WebView)appView.getEngine().getView(); 
     webView.addJavascriptInterface(JSInterface, "JSInterface"); 

    } 

    public class JavaScriptInterface { 
     Context mContext; 
     /** Instantiate the interface and set the context */ 
     JavaScriptInterface(Context c) { 
      mContext = c; 
     } 
     public void changeActivity(){startActivity(new Intent(mContext,ChildWebView.class));} 
    } 
} 

は、私のようなJavaスクリプトコードからchangeActivity()メソッドをトリガーする https://github.com/square/duktape-android

Duktape埋め込み可能なJavaScriptエンジンは、Android用にパッケージ。

関連する問題