AlarmManager 的使用是 Android 初学者比学掌握的,网上教程一箩筐,这里就不罗嗦了。
这里有一个比较好的教程 Android – Creating an Alarm with AlarmManager
本文的重点是如何把休眠的机器唤醒,点亮屏幕并显示相关的界面。
但是值得注意的就是,AlarmManager 唤醒系统后,跑完相关程序后,又会继续休眠下去。
如果你需要像我一样,唤醒屏幕去显示闹钟界面,那就要加上 WakeLock。
WakeLock 相关源码:
private PowerManager.WakeLock wl; ... public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "My Tag"); wl.acquire(); ... ... //The rest of the onCreate() is still the same (for now) } protected void onStop() { super.onStop(); wl.release(); }
// 值得注意的是,WakeLock 必须 release, 具体位置可以自己安排
// 别忘了加上权限 uses-permission android:name="android.permission.WAKE_LOCK";
更多可以参考这里: Starting Activity from Sleeping Device