gpt4 book ai didi

android - 无法从 Android WebView 调用电话

转载 作者:行者123 更新时间:2023-11-30 05:04:00 25 4
gpt4 key购买 nike

我有一个带有 WebView 的应用程序,可以加载电话号码列表。在某些设备中,用户无法在点击电话号码时调用电话。

有两个页面,页面A和页面B。当我加载页面A时,用户可以调用电话,但在同一设备上,如果他们加载页面B,则无法调用电话。

我已经检查了从移动网络浏览器加载页面和从 PC 网络浏览器加载页面。在这两种情况下,A 和 B 都可以正常工作。如果这是因为我的 WebView 设置有问题,用户无法从页面 A 进行调用,但用户可以。

我不知道发生了什么。

shouldOverrideUrlLoading

  @Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.startsWith("tel:")) {
makePhoneCall(url);
return true;
}
return false;
}

makePhoneCall()

    public void makePhoneCall(String phoneNumber) {
if (ContextCompat.checkSelfPermission(MainActivity.this,
Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {

ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.CALL_PHONE}, REQUEST_CALL);
checkPermissions();
} else {
startActivity(new Intent(Intent.ACTION_CALL, Uri.parse(phoneNumber)));
}
}

最佳答案

In some devices, users can't make the call when clicking the phone number

这是因为在 Android 6 及更高版本中,您没有为 ACTION_CALL 请求运行时权限

请尝试使用 ACTION_DIALACTION_CALL 用于即时调用电话,这现在受到 Google 新短信和通话政策的限制!

startActivity(new Intent(Intent.ACTION_DIAL, uri));

关于android - 无法从 Android WebView 调用电话,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54880935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com