【发布时间】:2015-04-24 16:49:30
【问题描述】:
当我点击一个链接到 mailto:admin@ikiyuzoniki.net 时,我收到了这个错误:
网络:ERR_UNKNOWN_URL_SCHEME
我尝试添加 if(url.startsWith("mailto:")) 条件,但它不起作用。
这是我的MyWebViewClient 方法:
public class MyWebViewClient extends WebViewClient {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
}
@Override
public void onPageFinished(WebView view, String url) {
view.setVisibility(View.VISIBLE);
final Animation fade = new AlphaAnimation(0.0f, 1.0f);
fade.setDuration(200);
view.startAnimation(fade);
view.setVisibility(View.VISIBLE);
}
}
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(url.startsWith("mailto:")){
Intent intent = null;
try {
intent = Intent.parseUri(url, Intent.URI_INTENT_SCHEME);
} catch (URISyntaxException e) {
e.printStackTrace();
}
view.getContext().startActivity(intent);
}
else if (url.endsWith(".mp3")) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(url), "audio/*");
startActivity(intent);
} else if (url.endsWith(".mp4") || url.endsWith(".3gp")) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(url), "video/*");
startActivity(intent);
}
else {
return false;
}
view.reload();
return true;
}
这就是我在loadUrl 之前将函数添加到我的网络视图的方式:
...
mWebview.setWebViewClient(new MyWebViewClient());
...
【问题讨论】: