Android中webview撥打加載網(wǎng)頁中的電話超鏈接
wv_main = find(R.id.wv_main);//實(shí)例化webview
wv_main.loadUrl(url);
//啟用支持javascript
WebSettings settings = wv_main.getSettings();
settings.setJavaScriptEnabled(true);
//覆蓋WebView默認(rèn)使用第三方或系統(tǒng)默認(rèn)瀏覽器打開網(wǎng)頁的行為琴许,使網(wǎng)頁用WebView打開
wv_main.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Log.e("用戶單擊超連接", url);
//判斷用戶單擊的是那個(gè)超連接
String tag = "tel";
if (url.contains(tag)) {
String mobile = url.substring(url.lastIndexOf("/") + 1);
Log.e("mobile----------->",mobile);
Intent mIntent = new Intent(Intent.ACTION_CALL);
Uri data = Uri.parse(mobile);
mIntent.setData(data);
//Android6.0以后的動態(tài)獲取打電話權(quán)限
if (ActivityCompat.checkSelfPermission(MainActivity.this, android.Manifest.permission.CALL_PHONE) == PackageManager.PERMISSION_GRANTED) {
startActivity(mIntent);
//這個(gè)超連接,java已經(jīng)處理了戏蔑,webview不要處理
return true;
}else{
//申請權(quán)限
ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.CALL_PHONE},1);
return true;
}
}
return true;
}
}
為適應(yīng)Android6.0以前版本在manifest中添加打電話權(quán)限
<uses-permission android:name="android.permission.CALL_PHONE"/>