我正在使用第三方网站进行身份验证,该网站应该使用身份验证令牌(OAUTH)重定向回我的应用程序.
如果我通过单独的浏览器进程打开第三方站点,我的回调正常
this.startActivity(new Intent(Intent.ACTION_VIEW, uri));
但是,如果我在我的布局中嵌入了一个WebView组件,并打开其中的url,则回调不起作用.Webview说"你没有权限打开myapp:// callback?token = ...."并迅速刷新为"网页不可用......暂时下来......等等等等"
有任何想法吗?
您需要实现WebViewClient以在加载之前拦截自定义URI. Hello,WebView教程显示了一个简单的例子.他们在哪里:
private class HelloWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }
您可以更改"view.loadUrl(url)"以检查URL是否是您的自定义URL并根据需要进行处理.