Skip to content Skip to sidebar Skip to footer

Bring App To Front, Turn On Display And Unlock From Alarmmanager?

I want to turn on the display, unlock the phone and bring my app to the front, when the alarm I've set activates. public class CountDownAlarm extends BroadcastReceiver { publi

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?"