Bring App To Front, Turn On Display And Unlock From Alarmmanager?
Solution 1:
You should acquire wake lock with PowerManager.ACQUIRE_CAUSES_WAKEUP and PowerManager.FULL_WAKE_LOCK.
WakeLockwl= pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "TRAININGCOUNTDOWN");
Bear also in mind that if you release wake lock right after startActivity() is called, the activity might not start because it is asynchronous call. I suggest to use WakefulServiceIntent or PowerManager.WakeLock.acquire(long timeout)
Solution 2:
In the DescClock it is done in the following way:
finalWindowwin= getWindow();
win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
| WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
// Turn on the screen unless we are being launched from the AlarmAlert// subclass.if (!getIntent().getBooleanExtra(SCREEN_OFF, false)) {
win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
| WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
| WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON);
}
Solution 3:
Go to the Activity which you want to start in onReceive(). Paste this in onCreate() of that Activity
finalWindow win= getWindow();
win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON |
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
Solution 4:
As I can see onReceive is called with pendingIntent interval. On my device only the first call of onReceive was acquire the WakeLock. If I press the suspend button in the meantime the second call of wl.acquire() was not able to bring the system up. I need a release() first followed by a acquire()
wl.release();
wl.acquire();
Post a Comment for "Bring App To Front, Turn On Display And Unlock From Alarmmanager?"