Android:使用WebView组件回调?

时间:2010-09-17 17:07:20

标签: android callback webview

我正在使用第三方网站进行身份验证,该网站应该使用身份验证令牌(OAUTH)重定向回我的应用。

如果我通过

在单独的浏览器进程中打开第三方网站,我的回调正常
this.startActivity(new Intent(Intent.ACTION_VIEW, uri));

但是,如果我在我的布局中嵌入了一个WebView组件,并打开其中的url,则回调不起作用。 Webview说“你没有权限打开myapp:// callback?token = ....”并迅速刷新为“网页不可用......暂时下来......等等等等”

有什么想法吗?

1 个答案:

答案 0 :(得分:17)

您需要实现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)”以检查该网址是否为您的自定义网址,并根据需要进行处理。