我知道如何在JavaScrip
t代碼中調用Java
方法。它由@JavascriptInterface
註釋完成。但是,如果我想通過Android
確定哪個方法從JS
應該被調用?我在JS中調用Android Dialog
,使用上面提到的註釋,在那裏我得到了switch語句,它應該決定哪個函數應該在JS中調用。我使用了一個不起作用的標誌,因爲對話框不同步,所以方法showDialog()
在對話框啓動之前完成。有什麼方法可以在另一側達到Android-JS通信?對Android WebView中的@JavascriptInterface?
@JavascriptInterface
public int showDialog(){
new AlertDialog.Builder(this.activity)
.setTitle("Share iamge as...")
.setItems(new CharSequence[]{"Image", "PDF document", "Print"}, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which){ // this switch should determine which JS function I call
case 0: chosenMethod = 0; // here should be called JS function (eg. exportImage() from JS code)
Log.v("Dialog onClick()", "method chosen" + chosenMethod);
break;
case 1: chosenMethod = 1;
Log.v("Dialog onClick()", "method chosen" + chosenMethod);
break;
case 2: chosenMethod = 2;
Log.v("Dialog onClick()", "method chosen" + chosenMethod);
break;
}
}
})
.create().show();
Log.v("Dialog out of onClick", "method chosen" + chosenMethod);
return chosenMethod;
}
你想知道'如何在WebView中調用JS? –
@VladMatvienko是的,會發布一些代碼 – soommy12