Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Rise and Shine™, unlock and wake up your device automatically when you deploy from the IDE. Put this somewhere in your `src/debug/` code and run it when the application or main activity starts. Apache 2.
/**
* Show the activity over the lockscreen and wake up the device. If you launched the app manually
* both of these conditions are already true. If you deployed from the IDE, however, this will
* save you from hundreds of power button presses and pattern swiping per day!
*/
public static void riseAndShine(Activity activity) {
activity.getWindow().addFlags(FLAG_SHOW_WHEN_LOCKED);
PowerManager power = (PowerManager) activity.getSystemService(POWER_SERVICE);
PowerManager.WakeLock lock =
power.newWakeLock(FULL_WAKE_LOCK | ACQUIRE_CAUSES_WAKEUP | ON_AFTER_RELEASE, "wakeup!");
lock.acquire();
lock.release();
}
@androidfu

This comment has been minimized.

Copy link

commented Feb 8, 2015

Is there a reason that you don't just unlock the device when pushing from the IDE? https://gist.github.com/androidfu/3ae247867b68d6ead7dc

@padiyodi

This comment has been minimized.

Copy link

commented Oct 3, 2018

Hi, Sorry for this question but I am a novice here. I need to wake my app using a certain device code (i.e a hardware interrupt when I plug in a certain hardware through the device power port), Is there a way I can do it ?, any help would be appreciated, thanks

@AndroidDeveloperLB

This comment has been minimized.

Copy link

commented Oct 9, 2019

I've noticed some weird behavior when using this. Sometimes it goes back to the lock screen, especially when starting a new Activity, and especially when I have a secured lock screen.
Or maybe I don't use it well? I called it for the first Activity that starts on the app.

Here's the same code after converting to Kotlin and fixing the issues the IDE reports about:

        @JvmStatic
        fun wakeUp(activity: Activity) {
            activity.window.addFlags(FLAG_SHOW_WHEN_LOCKED)
            val power = activity.getSystemService(POWER_SERVICE) as PowerManager
            val lock = power.newWakeLock(PowerManager.FULL_WAKE_LOCK or PowerManager.ACQUIRE_CAUSES_WAKEUP
                    or PowerManager.ON_AFTER_RELEASE, activity.packageName + ":wakeup!")
            lock.acquire(1000)
            lock.release()
        }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.