2013-10-04 51 views
0

所以我有一個web應用程序,我通過WebView在我的android應用程序中加載。當用戶點擊外部網站上的按鈕時,如何在我的android應用程序中調用一個函數? 除了運行該功能,我也希望能夠傳遞變量。 也許鏈接像myapp:// activity /?d =變量%20到%20pass? 我應該如何在網站和Android應用上實現這一點?WebView在activity.java中觸發一個函數

回答

2

好吧,不知道您的網頁是否可以包含「普通」網頁鏈接......(我假設它可以在下面的例子中)。

首先,頁面有告訴,這是一個鏈接的應用程序有使用你的鏈接處理

應用:

"myapp://activity/?d=variables" 
在網頁瀏覽式的活動

,你會再有覆蓋Webviewclient,攔截的URL鏈接會被調用,檢查該鏈接爲您的應用程序,並最終執行所需的操作,分析參數等:

_webView.setWebViewClient(new WebViewClient(){ 
@Override 
public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      //find out if the link we're looking for is really for this app 
    if (url.contains("myapp://activity")){ 
     String action= = url.substring("myapp://activity/?".length()); 
     //parse the action from the link... 
     //do something with this action..., parse additional params etc. 

     return true; 
    } 

    //handle the "normal" links... 
    return super.shouldOverrideUrlLoading(view, url); 
} 
}); 

希望這幫助

+0

感謝Matthias,它的工作就像一個魅力。我一直在尋找答案,但我讀到的其他帖子讓我更加困惑。非常感謝! –

相關問題