2016-05-24 6 views
1

Ich möchte den Standardbrowser in Android öffnen, wenn JavaScript-Code 'window.open()' in einem Zebrastreifen-Webview ausführt.Crosswalk: XWalkUIClient.onCreateWindowRequested(): Wie bekomme ich die angeforderte URL?

Ich habe eine Klasse erstellt, die XWalkUIClient erweitert und onCreateWindowRequested() überschreibt. Diese Methode wird aufgerufen, wenn window.open() aufgerufen wird, was das gewünschte Verhalten ist. Ich weiß jedoch nicht, wie der URL-Parameter abgerufen werden soll, der window.open() aufgerufen wird. Weiß jemand, wie ich die URL abrufen kann?

Sobald ich die URL bekommen, möchte ich mit dem folgenden Code diese URL öffnen:

Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));

Antwort

1

Sie nicht die URL direkt zugreifen können, aber mit einer temporären XWalkView und einem benutzerdefinierten XWalkUIClient in onCreateWindowRequested, Sie kann erreichen, wonach Sie suchen.

Das folgende Codebeispiel zeigt, wie Sie die URL in onCreateWindowRequested zuzugreifen:

xWalkView.setUIClient(new XWalkUIClient(xWalkView) { 
    @Override 
    public boolean onCreateWindowRequested(XWalkView view, InitiateBy initiator, final ValueCallback<XWalkView> callback) { 
     // Create a temporary XWalkView instance and set a custom XWalkUIClient 
     // to it with the setUIClient method. The url is passed as a parameter to the 
     // XWalkUIClient.onPageLoadStarted method. 
     XWalkView tempView = new XWalkView(getActivity()); 
     tempView.setUIClient(new XWalkUIClient(tempView) { 
      @Override 
      public void onPageLoadStarted(XWalkView view, String url) { 
       Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); 
       startActivity(intent); 
      } 
     }); 

     // Return the temporary XWalkView instance with the callback to start the page 
     // load process in tempView. 
     callback.onReceiveValue(tempView); 
     return true; 
    } 
}); 
+0

Hallo, die Version von Zebrastreifen haben Sie in Ihrem Beispiel verwenden? – Vall0n

Verwandte Themen