2015-11-09 132 views
3

我正在爲使用HTML和JavaScript的Android設備創建應用程序。我正在使用Crosswalk(15.44.384.12)將它捆綁到一個Android應用程序中,該應用程序幾乎創建了一個內置Web瀏覽器的Android應用程序,以運行我的應用程序。在設備的默認瀏覽器中打開鏈接。 Crosswalk android應用程序

我有一切在Android設備上工作,但我很努力地找出如何使用JavaScript在設備的默認瀏覽器中從我的應用程序打開鏈接。

如果我使用window.open(),它只會加載我的應用程序,這不是我想要的。我試過使用window.open('http://example.com','_blank'),我也試過'_system',無濟於事。

回答

0

同樣在這裏。所有hrefs和window.open調用都在WebView中打開。

我們可以使用Cordova中也可以使用的解決方法:攔截原生Java代碼中的URL。

首先創建一個自定義XWalkResourceClient攔截您的網址,根據您的需要:

XWalkResourceClient myResourceClient = new XWalkResourceClient(xWalkWebView){ 
    ... 

    @Override 
    public boolean shouldOverrideUrlLoading(XWalkView view, String url) { 
      if(url.contains("whatever")){ 
       Intent i = new Intent(Intent.ACTION_VIEW); 
       i.setData(Uri.parse(url)); 
       startActivity(i); 

       return true; 
      } 

      return super.shouldOverrideUrlLoading(view, url); 
    } 
}; 

,然後在您的活動,您可以設置客戶端向XWalk觀點:

myXWalkWebView.setResourceClient(myResourceClient); 
相關問題