对于此类问题,我们可以找到发送通知的地方,然后判断是否有新通知,唤醒并点亮屏幕
packages/apps/Calendar/src/com/android/calendar/alerts/AlertService.java
static boolean isFired = false;//定义标志位
void processMessage(Message msg) {
---------
boolean providerReminder = action.equals(
android.provider.CalendarContract.ACTION_EVENT_REMINDER);
if (providerReminder) {
isFired=true;//修改标志位
static boolean updateAlertNotification(Context context) {
//唤醒亮屏
if(isFired){
PowerManager mPowerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = mPowerManager.newWakeLock(
PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_DIM_WAKE_LOCK,"bright");
//light screen when the event is fired
wl.acquire();
wl.release();
}
isFired = false;
这只是一个思路,遇到类似问题,可以这样处理