Не удается позвонить из Android WebView - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть приложение с 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;
        }

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)));
    }
}

1 Ответ

0 голосов
/ 26 февраля 2019

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

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

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

startActivity(new Intent(Intent.ACTION_DIAL, uri));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...