私はJavaScrip
コードでJava
メソッドを呼び出す方法を知っています。これは@JavascriptInterface
注釈によって行われます。しかし、Android
によってどの方法を決定したいのですかJS
と呼ばれるべきですか? JS内でAndroidのDialog
を呼び出していますが、ここでは、JS内でどの関数を呼び出さなければならないかを決定するswitch文があります。私はダイアログが同期していないので、動作していないフラグを使用したので、ダイアログも開始する前にメソッドshowDialog()
が完了しています。反対側のAndroid-JS通信に到達する方法はありますか? WebページがあなたのWebViewにロードされた後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;
}
「JSをWebViewで呼び出す方法」を知りたいですか? –
@VladMatvienkoええ、コードを投稿するよね – soommy12