Подскажите, пожалуйста, как вы получили разрешение программным способом ... прошло уже 15 дней, как я искал решение ... Пожалуйста, помогите мне с необходимыми шагами, которые я должен сделать, чтобы запустить действие с тревогой. служба на android уровне API <= 28 ... </p>
действие, которое я хочу запустить, содержит этот код в 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();
} 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();
}
}
разрешения манифеста
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
<uses-permission android:name="com.android.alarm.permission.SET_ALARM" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.PREVENT_POWER_KEY" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>