Разрешение относительно Android EMM

Я делаю приложение EMM. Это приложение будет установлено только на фирменные устройства. Есть ли способ программно предоставить разрешения ниже через DevicePolicyManager.

  1. android.permission.SYSTEM_ALERT_WINDOW (отображать поверх других приложений)
  2. android.permission.BIND_ACCESSIBILITY_SERVICE (служба специальных возможностей)
  3. 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

и https://developers.google.com/android/management/reference/rest/v1/enterprises.policies#permissionpolicy

похоже, указывает, что вы можете создать политику, которая будет автоматически предоставлять разрешения.

Я вижу:PERMISSION_POLICY_AUTO_GRANT

Политика разрешений, чтобы всегда предоставлять новые запросы разрешений для разрешений времени выполнения. Это не влияет на уже предоставленные или отклоненные разрешения.

и

PERMISSION_GRANT_STATE_GRANTED

Состояние разрешения среды выполнения: разрешение предоставлено приложению, и пользователь не может управлять разрешением через пользовательский интерфейс.

что похоже на то, что вы хотите.

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