Не удается позвонить из Android WebView

1

У меня есть приложение с WebView, которое загружает список телефонных номеров. На некоторых устройствах пользователи не могут совершать вызов при нажатии на номер телефона.

Есть две страницы, страница A и страница B. Когда я загружаю страницу A, пользователь может сделать вызов, но на том же устройстве, если он загружает страницу B, он не может сделать вызов.

Я проверил загрузку обеих страниц из мобильных веб-браузеров и веб-браузера с ПК. В обоих случаях A и B работают нормально. Если это из-за чего-то не так с моей настройкой WebView, пользователь не может сделать вызов со страницы A, но пользователь может.

Я понятия не имею, что происходит.

shouldOverrideUrlLoading

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

сделать телефонный звонок()

    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)));
    }
}
Теги:
android-webview

1 ответ

0

На некоторых устройствах пользователи не могут совершать вызов при нажатии на номер телефона.

Это потому, что вы не спрашиваете разрешение во время выполнения для ACTION_CALL в Android 6 и выше

Попробуйте вместо этого использовать ACTION_DIAL, ACTION_CALL предназначен для мгновенного совершения телефонного звонка, и теперь это ограничено новой политикой Google в отношении SMS и вызовов!

startActivity(new Intent(Intent.ACTION_DIAL, uri));
  • 0
    Я пытался использовать ACTION_DIAL, не работает, и это же устройство может совершать звонки с другой веб-страницы.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню