Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

window.close() not working in android webview?

Android 4.1 Eclipse Testing on device

I am trying to open a html/javascript webpage, hosted on my localhost for now, in my android application through a webview. The page is suppose to just close after 2 sec through the below code

<script type="text/javascript">
    alert('hello');
    setInterval(function(){window.close();},2000);
</script>

I am able to get the hello alert by using WebChromeClient. But the window.close is still not working. Any help would be appreciated.

PS: Here is how i am loading the URL:

WebSettings ws = webView.getSettings();
ws.setJavaScriptEnabled(true);      
ws.setJavaScriptCanOpenWindowsAutomatically(true);
webView.loadUrl("http://192.168.1.137/abc.html");
webView.setWebChromeClient(new WebChromeClient());
like image 810
Abhinav Avatar asked Apr 22 '14 06:04

Abhinav


1 Answers

Try this :

WebChromeClient webClient = new WebChromeClient(){

    public void onCloseWindow(Window w){
        super.onCloseWindow(w);
        Log.d(TAG, "Window close");
    }
};

Description :

public void onCloseWindow (WebView window)

Notify the host application to close the given WebView and remove it from the view system if necessary. At this point, WebCore has stopped any loading in this window and has removed any cross-scripting ability in javascript.

like image 169
Siddharth_Vyas Avatar answered Nov 02 '22 17:11

Siddharth_Vyas