2

javascript から Android ネイティブに 1 つのメソッド要求を送信する必要があり、ネイティブ側でコードを実装する必要があるアプリを開発しています。私のjavascriptファイルは.

 function _CBSubscribeForNative( eventName, Message, Data ) {
            try {                                                  
               Android.CallFromJavaScript(eventName,Message.data);                    
               }//...

Main.java ファイルでは、次のコードを使用しています。

 {
    WebView wv = (WebView)  findViewById(R.id.webView1);        
    WebSettings webset = wv.getSettings();        
    webset.setJavaScriptEnabled(true);   
    wv.loadUrl("file:///android_asset/DocApt/DocApt/DocAptApp/72/index.html");
    wv.addJavascriptInterface(new AndroidBridge(), "Android");
   }//oncreate

  private class AndroidBridge {
    @SuppressWarnings("unused")
    public void CallFromJavaScript(final String arg , final String arg1) {
        System.out.println("222222222");
    handler.post(new Runnable() {
    public void run() {
        String requestfrmjs = arg.toString();
        Toast.makeText(getApplicationContext(), "received request is " + requestfrmjs, Toast.LENGTH_SHORT).show();
    }       
    });
    }
    }

私のコードによると、トーストを取得できません。私のコードに何か問題がありましたか?

誰でもこれで私を助けてくれませんか..

4

1 に答える 1

2

2 番目のパラメーターは、JavaScript コンテキストで、最初のパラメーターに渡すオブジェクトにアクセスするための名前です。

そのため、JavaScript コードからそのオブジェクトのメソッドまたはプロパティを呼び出す場合は、後でその名前を使用する必要があります。

addJavascriptInterface()のドキュメントを参照してください。

于 2012-09-29T14:24:50.107 に答える