使用 Intent 从 WebView 拨打电话不起作用

Posted

技术标签:

【中文标题】使用 Intent 从 WebView 拨打电话不起作用【英文标题】:Making a call from WebView with Intent is not working 【发布时间】:2021-08-14 23:39:12 【问题描述】:

我尝试在点击帖子中的通话按钮时打开拨号器,但它不起作用。所有代码都在运行,但只有这部分不起作用。 我不想修改文件上传代码,只需要修改webview中的调用按钮代码:

public class MainActivity extends AppCompatActivity 


WebView webView;

private static final String TEL_PREFIX = "tel:";

public String url ="https://www.negotiatar.com";


@Override
protected void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    webView = (WebView) findViewById(R.id.webView);

    webView.getSettings().setjavascriptEnabled(true);
    webView.loadUrl(url);
    webView.setWebViewClient(new WebViewClient());
    webView.setInitialScale(0);
    webView.setWebViewClient(new CustomWebViewClient());



  private class CustomWebViewClient extends WebViewClient 
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) 
        if(url.startsWith(TEL_PREFIX)) 
            Intent intent = new Intent(Intent.ACTION_DIAL);
            intent.setData(Uri.parse(url));
            startActivity(intent);
            return true;
        
        return super.shouldOverrideUrlLoading(view, url);
    

【问题讨论】:

***.com/a/9408637/8133524希望对你有所帮助。 尚未完成 【参考方案1】:

你的代码中有一个很大的错误,你似乎在方法中嵌套了类,你能像以前那样做吗?

【讨论】:

以上是关于使用 Intent 从 WebView 拨打电话不起作用的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Siri Intent Extension 拨打网络电话?

Android拨打电话

Android使用Intent实现拨打电话的动作

Android点击按钮拨打电话

拨打电话号码

android 自动拨打电话和挂断电话(反射和intent方式)