Разрешение относительно Android EMM
Я делаю приложение EMM. Это приложение будет установлено только на фирменные устройства. Есть ли способ программно предоставить разрешения ниже через DevicePolicyManager.
- android.permission.SYSTEM_ALERT_WINDOW (отображать поверх других приложений)
- android.permission.BIND_ACCESSIBILITY_SERVICE (служба специальных возможностей)
- android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS (игнорировать оптимизацию батареи)
Я хочу предоставить указанные выше разрешения через DevicePolicyManager, поскольку мое приложение является приложением владельца системы. Но я не могу предоставить их через devicePolicyManager.setPermissionGrantState. Как я также попытался devicePolicyManager.setPermittedAccessibilityServices для предоставления ACCESSIBILY_SERVICE программно, но он также не работает. Итак, есть ли способ предоставить, прежде всего, разрешения программно, не переходя на этот экран и не включая его вручную. Или есть способ, чтобы пользователь все равно не мог отключить вышеуказанные функции. Например, когда я включаю местоположение и другие разрешения через DevicePolicyManager, пользователь не может отключить его.
1 ответ
Итак, просматривая: https://developers.google.com/android/work/requirements#4.2.-runtime-permission-grant-state-management_1
похоже, указывает, что вы можете создать политику, которая будет автоматически предоставлять разрешения.
Я вижу:PERMISSION_POLICY_AUTO_GRANT
Политика разрешений, чтобы всегда предоставлять новые запросы разрешений для разрешений времени выполнения. Это не влияет на уже предоставленные или отклоненные разрешения.
и
PERMISSION_GRANT_STATE_GRANTED
Состояние разрешения среды выполнения: разрешение предоставлено приложению, и пользователь не может управлять разрешением через пользовательский интерфейс.
что похоже на то, что вы хотите.