2014-04-22 1 views
5

Android 4.1 Eclipse- Testing auf dem Gerätwindow.close() funktioniert nicht in android webview?

Ich versuche, eine HTML/JavaScript Webseite zu öffnen, denn jetzt auf meinem localhost gehostet, in meiner Android-Anwendung durch eine Webansicht. Die Seite ist wohl nur noch schließen nach 2 sec durch den Code unten

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

Ich bin in der Lage, indem Sie WebChromeClient die hallo-Benachrichtigung zu erhalten. Aber das window.close funktioniert immer noch nicht. Jede Hilfe wäre willkommen.

PS: Hier ist, wie ich die URL bin Laden:

WebSettings ws = webView.getSettings(); 
ws.setJavaScriptEnabled(true);  
ws.setJavaScriptCanOpenWindowsAutomatically(true); 
webView.loadUrl("http://192.168.1.137/abc.html"); 
webView.setWebChromeClient(new WebChromeClient()); 

Antwort

4

Versuchen Sie folgendes:

WebChromeClient webClient = new WebChromeClient(){ 

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

Beschreibung:

public void onCloseWindow (WebView window) 

die Host-Anwendung benachrichtigen gegeben WebView schließen und entfernen Sie es gegebenenfalls aus dem Ansichtssystem. Zu diesem Zeitpunkt hat WebCore das Laden in diesem Fenster gestoppt und jegliche Cross-Scripting-Fähigkeit in Javascript entfernt.

+0

Vielen Dank. Eine weitere Sache - Ist es ratsam, Webview zu verwenden, um Prozess wie oauth ?? Ich muss oauth von meiner Anwendung ausführen. – Abhinav

+1

Ja, Sie können das tun .. überprüfen Sie diesen Link: http://blog.fordemobile.com/2012/08/display-oauth-login-webpage-in-dialog.html –

Verwandte Themen