Я пытаюсь разработать приложение, которое давало бы разрешения некоторым другим приложениям, не спрашивая пользователя.Я должен получить имена пакетов, получить разрешения, необходимые для каждого из этих пакетов, и предоставить их во время выполнения.
Получение необходимых имен и разрешений пакетов работает нормально.Для предоставления разрешения я использую этот код:
Runtime.getRuntime().exec("pm grant com.example.app android.permission.WRITE_EXTERNAL_STORAGE")
Но я получаю эту ошибку:
Операция не разрешена: java.lang.SecurityException: grantRuntimePermission: Ни пользователь 10078, нитекущий процесс имеет android.permission.GRANT_RUNTIME_PERMISSIONS.
Когда я выполняю команду с оболочкой adb, она отлично работает.
Затем я попытался дать моему приложению разрешение GRANT_RUNTIME_PERMISSIONS с оболочкой adb+ su, и я получаю:
Операция не разрешена: java.lang.SecurityException: Разрешение android.permission.GRANT_RUNTIME_PERMISSIONS не является изменяемым типом разрешения
Есть ли у кого-нибудьидея, как этого добиться?
Большое спасибо.