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
