To modify the JavaScript alert title text in an Android webview, you need to override the onJSAlert method of the WebChromeClient class. Here is the code:
myWebView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("New Title");
builder.setMessage(message);
builder.setPositiveButton(android.R.string.ok,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
result.confirm();
}
});
builder.setCancelable(false);
builder.create().show();
return true;
}
});
In the code above, we create an AlertDialog with a custom title ("New Title") and show it instead of the default one. The message parameter of the onJsAlert method contains the text of the alert message. The JsResult object is used to confirm the alert when the user taps the OK button. The return value of the onJsAlert method indicates whether the alert should be handled by the application (true) or by the webview (false).
Asked: 2022-07-15 11:00:00 +0000
Seen: 9 times
Last updated: Jun 02 '21