Запустите android активность из фона с помощью службы сигнализации на уровне API <29 - PullRequest
0 голосов
/ 03 марта 2020

Подскажите, пожалуйста, как вы получили разрешение программным способом ... прошло уже 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"/>

...