Я работаю над приложением alram. Код моего приложения работает нормально. Я тестирую API своего уровня приложения 28 на телефоне MI Y3 ... У меня большая проблема в том, что у моего приложения нет некоторых разрешений, например ..
"Показать на экране блокировки" "Всплывающее окно дисплея windows при работе в фоновом режиме "
это разрешение, которое я должен разрешить приложению вручную в настройках телефона, разрешениях приложения ..... Мой вопрос заключается в том, что при установке другого приложения" Тревога "из Магазин приложений, такой как "Простой будильник", Будильник, Будильник Xtream ... эти приложения автоматически имеют вышеуказанные разрешения ... я имею в виду, что мне не нужно давать эти разрешения этим приложениям вручную.
Пожалуйста, помогите понять, почему у этих приложений они по умолчанию ... Если я даю эти разрешения своему приложению вручную ... тогда мое приложение работает нормально ... пожалуйста, скажите, почему приложение не получает эти разрешения по умолчанию, как другие приложения ... .
действие, которое я хочу запустить, содержит этот код в onCreate перед Super.onCreate ....
{window = getWindow ();
KeyguardManager keyguardManager = (KeyguardManager) getSystemService(Activity.KEYGUARD_SERVICE);
if(Build.VERSION.SDK_INT<=26){
window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
| WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
PowerManager powerM = (PowerManager) getSystemService(Context.POWER_SERVICE);
wakeLock = powerM.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, WAKELOCK_KEY);
wakeLock.acquire(10*60*1000L /*10 minutes*/);
}else{
setShowWhenLocked(true);
setTurnScreenOn(true);
if (keyguardManager != null) {
keyguardManager.requestDismissKeyguard(this, null);
}
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN);
PowerManager powerM = (PowerManager) getSystemService(Context.POWER_SERVICE);
wakeLock = powerM.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, WAKELOCK_KEY);
wakeLock.acquire(10*60*1000L /*10 minutes*/);
}
}
Манифест разрешений