Разрешение SMS не проверяет себя на API 27 и выше

У меня странная проблема на Android API 27 и выше. У меня есть приложение для нашей пожарной службы, которое проверяет каждое полученное SMS-сообщение и реагирует на него, если отправителем является указанный номер. (Мы используем SMS-оповещение, и это приложение должно срабатывать при каждом SMS-оповещении и начинать делать что-либо). Все отлично работает для Android версии 26 и ниже. Но для более высоких версий приложение перестает читать полученные SMS через несколько часов. Мне нужно перейти к разрешениям приложений, чтобы вручную отключить и снова включить разрешение SMS, затем оно снова работает в течение нескольких часов!! Arrrghhh

У меня есть класс BroadcastReceiver с функцией onReceive, и я объявил его в манифесте.

Разрешение спрашивается с этим кодом:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_SMS) != PackageManager.PERMISSION_GRANTED)) {
        requestPermissions(arrayOf(Manifest.permission.READ_SMS), REQ_SMS_READ)
    }

Что я здесь не так делаю?

Большое спасибо за ваш вклад!

0 ответов

Другие вопросы по тегам