我在Web视图中有一个按钮,其中有一个用于在android中触发对话框的onClick js事件。它似乎在我可以测试的所有手机中都能正常工作,但我让用户抱怨他们正在强制退出错误。
这是我的代码。有什么突出的错误吗? 我怀疑我使用的东西只适用于2.2&有问题的用户正在使用2.1,但我不知道如何验证这是否正常。
在网页浏览中显示的网页中:
<script type="text/javascript">
function showAndroidToast(toast) {
Android.showToast(toast);
}
</script>
<a href="javascript:;" onClick="showAndroidToast('http://mysite.com/image.jpg')">Options</a>
在android活动中:
public static final int DIALOG_IMAGES_ID = 0;
public class JavaScriptInterface {
Context mContext;
/** Instantiate the interface and set the context */
JavaScriptInterface(Context c) {
mContext = c;
}
/** Show a toast from the web page */
public void showToast(String toast) {
showDialog(DIALOG_IMAGES_ID);
browserImage = toast;
}
}
@Override
protected Dialog onCreateDialog(int id) {
Dialog dialog = null;
switch(id) {
case DIALOG_IMAGES_ID:
// do the work to define the pause Dialog
final CharSequence[] items = {"Save Image", "Set Wallpaper", "Share Image"};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Use this image");
builder.setItems(items, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
if(items[item]=="Save Image"){
// do something
}else if(items[item]=="Share Image"){
// do something
}else if(items[item]=="Set Wallpaper"){
// do something
}
}
});
AlertDialog alert = builder.create();
alert.show();
break;
default:
dialog = null;
}
return dialog;
}