2016-05-24 4 views
1

クロスウォークのWebビューでjavascriptコードが 'window.open()'を実行するたびに、Androidのデフォルトブラウザを開きたいとします。クロスウォーク:XWalkUIClient.onCreateWindowRequested():リクエストされたURLを保持するには?

XWalkUIClientを拡張し、onCreateWindowRequested()を上書きするクラスを作成しました。このメソッドは、希望の動作であるwindow.open()が呼び出されたときに呼び出されます。しかし、私はどのようにwindow.open()が呼び出されるURLパラメータを取得するのか分からない。誰も私はどのようにURLを取得することができます知っていますか?私はURLを取得したら

は、私は次のコードでこのURLを開くようにしたい:あなたはURLを直接アクセスすることはできません

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

答えて

1

が、onCreateWindowRequestedで一時的XWalkViewとカスタムXWalkUIClientと、あなたあなたが何をしているかを達成することができます。

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

こんにちは、あなたはあなたの例で使用した横断歩道のバージョン:

次のコード例は、どのようonCreateWindowRequested内のURLにアクセスすることを示して? – Vall0n

関連する問題