Нативный скрипт Android 8.0 READ_CALL_LOG не выполнен - PullRequest
0 голосов
/ 23 ноября 2018

Использование Nativescript 5.0.

В Android версии 6.0.1

хорошо работает приведенный ниже фрагмент кода, но не удается получить разрешение в Android 8.0

Окно сообщения о поиске разрешений работаетне отображается.

Разница, наблюдаемая в деталях разрешений обоих телефонов, заключается в том, что в Android 8.0 дополнительное разрешение отображается как «Набор номера через контакты», которое нельзя установить вручную.

Permissions.requestPermission(android.Manifest.permission.READ_CALL_LOG, "Needed for connectivity status").then(() => {
            console.log("refresh - Permission granted!");
            this.readCallLog();
            alert("in refresh Permission granted");
        }).catch(() => {
            console.log("Permission is not granted (sadface)");
            alert("in refresh Permission NOT granted");

        });

Ответы [ 2 ]

0 голосов
/ 23 ноября 2018

В то время как в более ранних версиях Android вы могли просто запросить разрешение READ_CALL_LOG, более новые версии Android вносят некоторые изменения в то, как вы можете запрашивать журналы пользовательских вызовов.Идея состоит в том, чтобы предоставить пользователю больше информации, объясняющей, почему вам нужны эти разрешения.

Значения пояснительных строк должны быть предоставлены в ресурсах Andorid

<string name="permgroupdesc_calllog">read and write phone call log</string>
<string name="permgrouprequest_calllog">Allow &lt;b>%1$s&lt;/b> to access your phone call logs?</string>

Кроме того, вам потребуется запросить несколько разрешений, а не только READ_CALL_LOG:

CALL_LOG
READ_CALL_LOG
WRITE_CALL_LOG
ROCESS_OUTGOING_CALLS

Подробная информация о выше здесь

0 голосов
/ 23 ноября 2018

Попробуйте включить разрешение READ_PHONE_STATE.

Но, если быть точным, в Android 8 ничего не изменилось, но в Android 9 были внесены серьезные изменения в разрешение на чтение журнала вызовов, которое теперь требует разрешения состояния телефона для работы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...