java.lang.SecurityException: Отказ в разрешении: начало намерения {flg = 0x800000 cmp = com.android.systemui / .recents.RecentsActivity - PullRequest
0 голосов
/ 15 мая 2019

Я пытаюсь открыть последние приложения, но у меня проблема с правами доступа.

Эта функция работает на Android 4, но, похоже, с 6/7 отображается следующая ошибка:

java.lang.SecurityException: Отказ в разрешении: начальное намерение {flg = 0x800000 cmp = com.android.systemui / .recents.RecentsActivity}

val intent = Intent()
intent.component = ComponentName("com.android.systemui", "com.android.systemui.recents.RecentsActivity")
if (null != intent.resolveActivityInfo(context.packageManager, 0)) {
    startActivity(intent)
}

1 Ответ

0 голосов
/ 15 мая 2019

Похоже, потому что новая система разрешений в Android 6

Каждое приложение для Android работает в изолированной программной среде с ограниченным доступом. Если приложение должно использовать ресурсы или информацию за пределами своей песочницы, приложение имеет запросить соответствующее разрешение. Вы заявляете, что ваше приложение нуждается разрешение, перечислив разрешение в манифесте приложения, а затем запрашивая, чтобы пользователь одобрил каждое разрешение во время выполнения (включено Android 6.0 и выше).

Если вашему приложению требуется опасное разрешение, вы должны проверить, иметь это разрешение каждый раз, когда вы выполняете операцию, которая требует это разрешение. Начиная с Android 6.0 (уровень API 23), пользователи могут отзывать разрешения из любого приложения в любое время, даже если приложение предназначено для более низкий уровень API. Так что, даже если приложение вчера использовало камеру, оно не могу предположить, что у этого все еще есть то разрешение сегодня

проверьте документацию для получения дополнительной информации

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