【发布时间】:2018-06-07 10:53:56
【问题描述】:
我为我的浏览器游戏创建了一个 Android WebView 应用程序。我使用 Javascript-Alert 询问用户是否真的想重置分数。但我想使用 Android Alert 而不是 Javascript Alert。所以我创建了一个 Javascript 接口。
public class AlertJSInterface {
private Context context;
AlertJSInterface(Context c) {
context = c;
}
@JavascriptInterface
public boolean alert(String title, String message) {
AlertDialog.Builder alert = new AlertDialog.Builder(context);
alert.setTitle(title);
alert.setMessage(message);
alert.setCancelable(true);
alert.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
alert.show();
//want to return true if clicked ok
}
现在我需要 Javascript 中的 Android Alert 的返回值。问题是 Android Alert 有一个 ClickListener。但是我怎样才能将值返回给 Javascript?
if(AndroidAlert.alert(resetScoreTitle, resetScoreAck) === true) {
resetAll();
}
【问题讨论】:
标签: javascript android webview interface alert