Skip to content

Instantly share code, notes, and snippets.

Created February 7, 2015 01:59
Star You must be signed in to star a gist
Save JakeWharton/f50f3b4d87e57d8e96e9 to your computer and use it in GitHub Desktop.
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) {
PowerManager power = (PowerManager) activity.getSystemService(POWER_SERVICE);
PowerManager.WakeLock lock =
Copy link

billmote commented Feb 8, 2015

Is there a reason that you don't just unlock the device when pushing from the IDE?

Copy link

padiyodi 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

Copy link

AndroidDeveloperLB 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:

        fun wakeUp(activity: Activity) {
            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!")

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment