Недопустимое разрешение GET_TASKS
У меня есть приложение безопасности (App Locker), которое использует это разрешение:
android.permission.GET_TASKS
В android Lollipop это разрешение устарело, и я хочу, чтобы мое приложение работало в API +21.
Может ли кто-нибудь вести меня как?
Thnx:)
Ответы
Ответ 1
Есть причина, почему она устарела.
Уровень защиты android.permission.GET_TASKS повышен до signatureOrSystem.
Для этого нет простого и безответственного решения.
Как и в случае с LOLLIPOP, этот метод больше не доступен для сторонних приложений: введение рецензентов, ориентированных на документ, означает, что он может передавать личную информацию вызывающей стороне. Для обратной совместимости он по-прежнему будет возвращать небольшое подмножество своих данных: по крайней мере, собственные задачи вызывающего абонента (хотя см. GetAppTasks() для правильного поддерживаемого способа получения этой информации) и, возможно, некоторые другие задачи, такие как дома, которые известны не чувствительны.
http://developer.android.com/reference/android/app/ActivityManager.html#getRecentTasks(int,%20int)
Ответ 2
Я видел новое разрешение REAL_GET_TASKS, которое, как говорят, используется вместо GET_TASKS:
Новая версия GET_TASKS, которую могут запрашивать приложения, поскольку GET_TASKS действительно не предоставляет доступ к информации о задаче. Нам нужен этот новый, потому что есть много существующих приложений, которые используют библиотеки добавок и такие, которые имеют код проверки, чтобы убедиться, что приложение запросило разрешение GET_TASKS, увидев, было ли ему предоставлено разрешение... если он этого не сделал, он убивает приложение с сообщением о расстройстве. Поэтому нам нужно, чтобы он продолжал выглядеть так, как будто приложение получает это разрешение, даже если оно никогда не будет проверено, и новые привилегированные приложения теперь могут запрашивать этот доступ для реального доступа.
См. разницу кодов Android по адресу: https://android.googlesource.com/platform/frameworks/base/+/2d7576b%5E!/