繁体   English   中英

如何在webview中打开android中的dialerapp

[英]how to open dialerapp in android from webview

我在mainactivity.java文件中有这个代码:

package com.business.i13bubbles;

import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.content.Intent;

public class MainActivity extends AppCompatActivity {
private WebView MywebView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    MywebView = (WebView) findViewById(R.id.view2);
    WebSettings webSettings = MywebView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    MywebView.loadUrl("http://www.13bubbles.com");
    MywebView.setWebViewClient(new WebViewClient());
}

@Override
public void onBackPressed() {
    if (MywebView.canGoBack()) {
        MywebView.goBack();
    } else {
        super.onBackPressed();
    }
}

   public boolean shouldOverrideUrlLoading(WebView view2, String url) {
    if (url.startsWith("tel:")) {
        Intent intent = new Intent(Intent.ACTION_DIAL);
        intent.setData(Uri.parse("tel:123"));
        startActivity(intent);
    } else if (url.startsWith("http:") || url.startsWith("https:")) {
        view2.loadUrl(url); }
    return true;
}
}

我在这里没有错误。 该站点上有一个链接:

<a href="tel:+919910673876" class="btn btn-border-filled">Call @ 9910 6738 76</a>

它不会打开拨号器应用程序。 难道我做错了什么 ??? 我从早上起就试图解决这个问题但是什么也做不了。

shouldOverrideUrlLoading()方法中使用以下代码:

public boolean shouldOverrideUrlLoading(WebView view2, String url) {
    if (url.contains("tel:")) { 
        Intent intent = new Intent(Intent.ACTION_DIAL);
        intent.setData(Uri.parse(url))
        startActivity(intent);
        return true;
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM