Ale*_*xis 10 android webview android-webview
我有一个WebView,我在其中加载了一个带有自定义链接的页面(如app:// action).我在清单文件中注册了url方案,当我点击链接时,调用我的Activity的onResume()方法并使用正确的数据,它可以正常工作.
我的问题是WebView仍然尝试加载链接,我的WebView最终显示"网页不可用"消息.我不希望这样.
如何阻止WebView加载URL?
这是我的代码:
WebView banner = ...
banner.setWebViewClient(new WebViewClient() {
@Override
public void onLoadResource(WebView view, String url) {
if (url.startsWith("app://")) {
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url), getContext(), Main.class);
//startActivity(i);
}
}
}
banner.loadUrl("url_to_the_banner");
Run Code Online (Sandbox Code Playgroud)
fay*_*lon 22
请改用WebViewClient.shouldOverrideUrlLoading.
public boolean shouldOverrideUrlLoading(WebView view, String url){
// handle by yourself
return true;
}
Run Code Online (Sandbox Code Playgroud)
更新:方法shouldOverrideUrlLoading(WebView, String)在API级别24中已弃用.请shouldOverrideUrlLoading(WebView, WebResourceRequest)改用.
小智 6
但它必须返回false,所以:
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url){
if(url.startsWith(myString){
// handle by yourself
return true;
}
// ...
return false;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17900 次 |
| 最近记录: |