ActivityCompat всегда неопределен на android.support.v4.app - PullRequest
0 голосов
/ 22 сентября 2019

Недавно я создал собственный скрипт углового приложения.Я пытаюсь получить разрешения на чтение для SMS, но получаю сообщение об ошибке ниже

ОШИБКА TypeError: Невозможно прочитать свойство 'requestPermissions' из неопределенного

(<any>android.support.v4.app.ActivityCompat).requestPermissions(app.android.context,
        [(<any>android).Manifest.permission.RECEIVE_SMS], REQUEST_REQUIRED_PERMISSIONS);

, добавлено ниже строк в manifest.xml

<uses-permission android:name="android.permission.RECEIVE_SMS"/>
<uses-permission android:name="android.permission.READ_SMS"/>

Я пробовал плагин nativescript-permissions, он работает нормально, но я хотел попробовать без плагина

Обновление: рабочий код

    const activity = app.android.foregroundActivity || app.android.startActivity;
    (<any>androidx.core.app.ActivityCompat).requestPermissions(activity,
        [(<any>android).Manifest.permission.RECEIVE_SMS], REQUEST_REQUIRED_PERMISSIONS);

    // or
    activity.requestPermissions(
        [(<any>android).Manifest.permission.RECEIVE_SMS], REQUEST_REQUIRED_PERMISSIONS);

Ответы [ 2 ]

1 голос
/ 22 сентября 2019

Вы можете использовать напрямую с контекстом obj

context.requestPermissions(new String[] {
      Manifest.permission.RECEIVE_SMS
  }, REQUEST_REQUIRED_PERMISSIONS);
1 голос
/ 22 сентября 2019

С поддержкой AndroidX в {N} 6 и выше, android.support.v4.app.ActivityCompat больше не существует.Это должно быть androidx.core.app.ActivityCompat.

...