2010-09-17 74 views
5

我正在對第三方網站進行身份驗證,該網站應該使用身份驗證令牌(OAUTH)將其重定向回我的應用。Android:使用WebView組件進行回調?

我有回調正常工作,如果我通過

this.startActivity(new Intent(Intent.ACTION_VIEW, uri)); 

打開一個單獨的瀏覽器進程的第三方網站,但如果我嵌入我的佈局網頁視圖組件,然後在打開的URL中,回調不起作用。 Webview說:「您沒有權限打開myapp://回撥?令牌= ....」並快速刷新爲「網頁不可用...暫時關閉......等等等等」

任何想法?

回答

16

您需要實施WebViewClient以在加載之前攔截自定義URI。 The Hello, WebView tutorial顯示了一個簡單的例子。他們有:

private class HelloWebViewClient extends WebViewClient { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     view.loadUrl(url); 
     return true; 
    } 
} 

可以更改「view.loadUrl(URL)」,以檢查URL是您的自定義URL和處理它不過你想要的。