安卓 webview的js交互
2014-11-18 15:35
267 查看
hdWebView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onJsAlert(WebView view, String url, String message, final JsResult result) {
try {
Builder builder = new Builder(HuoDongActivity.this);
builder.setTitle("提示对话框");
builder.setMessage(message);
builder.setPositiveButton(android.R.string.ok, new AlertDialog.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
result.confirm();
}
});
builder.setCancelable(false);
builder.create();
builder.show();
} catch (Exception e) {
}
return true;
};
@Override
// 处理javascript中的confirm
public boolean onJsConfirm(WebView view, String url, String message, final JsResult result) {
try {
Builder builder = new Builder(HuoDongActivity.this);
builder.setTitle("带选择的对话框");
builder.setMessage(message);
builder.setPositiveButton(android.R.string.ok, new AlertDialog.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
result.confirm();
}
});
builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
result.cancel();
}
});
builder.setCancelable(false);
builder.create();
builder.show();
} catch (Exception e) {
}
return true;
};
@Override
public boolean onJsPrompt(WebView view, String url, String message, String defaultValue, final JsPromptResult result) {
try {
final LayoutInflater factory = LayoutInflater.from(HuoDongActivity.this);
final View dialogview = factory.inflate(R.layout.prom_dialog, null);
((TextView) dialogview.findViewById(R.id.TextView_PROM)).setText(message);
((EditText) dialogview.findViewById(R.id.EditText_PROM)).setText(defaultValue);
Builder builder = new Builder(HuoDongActivity.this);
builder.setTitle("带输入的对话框");
builder.setView(dialogview);
builder.setPositiveButton(android.R.string.ok, new AlertDialog.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
String value = ((EditText) dialogview.findViewById(R.id.EditText_PROM)).getText().toString();
result.confirm(value);
}
});
builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
result.cancel();
}
});
builder.setOnCancelListener(new DialogInterface.OnCancelListener() {
public void onCancel(DialogInterface dialog) {
result.cancel();
}
});
builder.show();
} catch (Exception e) {
// TODO: handle exception
}
return true;
};
@Override
public void onProgressChanged(WebView view, int newProgress) {
HuoDongActivity.this.getWindow().setFeatureInt(Window.FEATURE_PROGRESS, newProgress * 100);
super.onProgressChanged(view, newProgress);
}
@Override
public void onReceivedTitle(WebView view, String title) {
super.onReceivedTitle(view, title);
}
});
hdWebView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onJsAlert(WebView view, String url, String message, final JsResult result) {
try {
Builder builder = new Builder(HuoDongActivity.this);
builder.setTitle("提示对话框");
builder.setMessage(message);
builder.setPositiveButton(android.R.string.ok, new AlertDialog.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
result.confirm();
}
});
builder.setCancelable(false);
builder.create();
builder.show();
} catch (Exception e) {
}
return true;
};
@Override
// 处理javascript中的confirm
public boolean onJsConfirm(WebView view, String url, String message, final JsResult result) {
try {
Builder builder = new Builder(HuoDongActivity.this);
builder.setTitle("带选择的对话框");
builder.setMessage(message);
builder.setPositiveButton(android.R.string.ok, new AlertDialog.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
result.confirm();
}
});
builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
result.cancel();
}
});
builder.setCancelable(false);
builder.create();
builder.show();
} catch (Exception e) {
}
return true;
};
@Override
public boolean onJsPrompt(WebView view, String url, String message, String defaultValue, final JsPromptResult result) {
try {
final LayoutInflater factory = LayoutInflater.from(HuoDongActivity.this);
final View dialogview = factory.inflate(R.layout.prom_dialog, null);
((TextView) dialogview.findViewById(R.id.TextView_PROM)).setText(message);
((EditText) dialogview.findViewById(R.id.EditText_PROM)).setText(defaultValue);
Builder builder = new Builder(HuoDongActivity.this);
builder.setTitle("带输入的对话框");
builder.setView(dialogview);
builder.setPositiveButton(android.R.string.ok, new AlertDialog.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
String value = ((EditText) dialogview.findViewById(R.id.EditText_PROM)).getText().toString();
result.confirm(value);
}
});
builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
result.cancel();
}
});
builder.setOnCancelListener(new DialogInterface.OnCancelListener() {
public void onCancel(DialogInterface dialog) {
result.cancel();
}
});
builder.show();
} catch (Exception e) {
// TODO: handle exception
}
return true;
};
@Override
public void onProgressChanged(WebView view, int newProgress) {
HuoDongActivity.this.getWindow().setFeatureInt(Window.FEATURE_PROGRESS, newProgress * 100);
super.onProgressChanged(view, newProgress);
}
@Override
public void onReceivedTitle(WebView view, String title) {
super.onReceivedTitle(view, title);
}
});
相关文章推荐
- 安卓webview和JS交互,使用连接桥JsBridge进行连
- 关于安卓开发webview与js交互的问题
- 安卓webview的详细使用详情,webview和js交互
- 安卓实现webview 与js交互
- 安卓webView,js交互
- 安卓使用WebView与js进行交互
- 安卓学习笔记---解决Android签名混淆后WebView与JS交互失效的问题
- 安卓webview与js交互 问题总结
- 深度学习js与安卓的交互以及WebView的那些坑
- 安卓高级 WebView的使用到 js交互
- 安卓中WebView跟Js交互
- Android中webview和js之间的交互及注意事项
- Android WebView与Js交互
- WebView用法与JS交互
- android webview js交互, 响应webview中的图片点击事件
- ios webview与JS的交互
- webview与js交互
- webview js 交互问题
- Android WebView与JS交互
- webView---------js 与 WebView 交互