[英]Android webview app crash when trying to open tell link
Am trying to open a tel: link on android webview but it do crash my app, please how can someone help fix this or tell me what am doing wrong. 我正在尝试在android webview上打开tel:链接,但它确实使我的应用程序崩溃了,请有人如何解决此问题或告诉我做错了什么。
MyAppWebViewClient.java MyAppWebViewClient.java
package org.event2u.event2u;
import android.content.Intent;
import android.net.Uri;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MyAppWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (Uri.parse(url).getHost().endsWith("event2u.org")) {
return false;
}
if (url.startsWith("tel:")) {
Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse(url));
view.getContext().startActivity(intent);
//view.reload();
return true;
}
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
view.getContext().startActivity(intent);
return true;
}
}
I have tried it with this code and the app doesn't crash. 我已经用此代码尝试过了,该应用程序不会崩溃。
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.startsWith("tel:") || url.startsWith("sms:") || url.startsWith("smsto:") || url.startsWith("mailto:") || url.startsWith("mms:") || url.startsWith("mmsto:") || url.startsWith("market:")) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true;
} else {
view.loadUrl(url);
return true;
}
}
}
I think the problem it crash is because you say this: 我认为它崩溃的问题是因为您这样说:
Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse(url));
view.getContext().startActivity(intent);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.