Как проверить, есть ли в приложениях Draw поверх других приложений значение True?
Я немного озадачен получением разрешений окна активных системных предупреждений для пакета в Android. Я использую приведенный ниже код, но этот код возвращает 0, даже если мы запрещаем это приложение из "Рисовать поверх другого приложения". Есть указатели?
Мой вариант использования должен иметь проверку, где, если любое приложение с system_alert_window permission
найдено, мы должны сказать пользователю, чтобы изменить разрешение этих приложений, чтобы продолжить.
packageManager.checkPermission ("android.permission.SYSTEM_ALERT_WINDOW", info.packageName)
1 ответ
Я создал этот метод, чтобы проверить, дано ли разрешение или нет
public static boolean checkDrawOverlayPermission(Context context) {
/** check if we already have permission to draw over other apps */
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
return Settings.canDrawOverlays(context);
}
return true;
}
После этого вы можете, если хотите направить пользователя туда, где он может включить эту опцию, сделать:
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
Uri.parse("package:" + activity.getPackageName()));