Reputation: 53
I am having the following problem: My website i prompting me with this JavaScript Popup
I need to create this wrapper for the webSite and I need somehow to process this dialog. I have tried using ChromeWebView Client but my website is not loading at all with it. I tried adding both WebView and ChromeWebView Clients to my WebView but it is still not working. Here is some of my code:
String text = getIntent().getStringExtra("currentUrl");
this.myWebView.loadUrl(text);
WebViewClient webViewClientProceedSSL = new ProceedSSLClient(myWebView);
this.myWebView.setWebViewClient(webViewClientProceedSSL);
this.myWebView.setWebChromeClient(new WebChromeClient());
Do you have any ideas how can i fix that?
Edit 1: I have forgotten to add my WebView Settings. Here are they:
webSettings.setJavaScriptEnabled(true);
webSettings.setAppCacheEnabled(true);
webSettings.setDomStorageEnabled(true);
webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
webSettings.setGeolocationEnabled(true);
webSettings.setDomStorageEnabled(true);
Edit 2:
I have tried overriding both methods onJsAlert and onJsPrompt in the WebChromeClient class when setting it to the webView. This is not working as well...
myWebView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
return super.onJsAlert(view, url, message, result);
}
});
I am not getting in that method at All - I tried logging something in it and debugging it. I never got in.
Upvotes: 1
Views: 1230
Reputation: 674
Add the following to the Webview
webView.getSettings().setLoadsImagesAutomatically(true);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setAppCacheEnabled(true);
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setJavaScriptEnabled(true);
Also try adding this method in WebViewClient
webview.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
//Required functionality here
return super.onJsAlert(view, url, message, result);
}
});
Upvotes: 2