Android:AlarmManager陷阱

时间:2011-05-16 09:48:27

标签: android alarmmanager

在我的闹钟中,我使用以下代码启用信号:

Intent i = new Intent(AlarmReciever.ACTION_WAKEUP);
i.putExtra(AlarmDao.ID_COLUMN, a.getId());
PendingIntent pendingIntent = PendingIntent.getBroadcast(
                        context, a.getId(), i, PendingIntent.FLAG_CANCEL_CURRENT);      
Calendar cal = a.getNextAlarm();
if(cal!=null){
    AlarmManager alarmManager = (AlarmManager)
                         context.getSystemService(context.ALARM_SERVICE);
    alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent);
    if(toast) showToast(context, cal);
}

我的接收器开始服务,播放音乐并显示“关闭”对话框。

context.startService(wakePlayer);
context.startActivity(wakeWindow);

此代码的问题在于有时会失败。我的意思是它不会启动音乐并显示对话框。有没有人遇到同样的问题?

1 个答案:

答案 0 :(得分:1)

也许你需要使用WakeLock。请检查以下内容: