我知道這是最常見的線程,但我沒有找到任何答案,我的問題。我想在特定時間觸發動態廣播接收機。對於這個我使用下面的代碼鬧鐘管理器沒有正確的時間觸發
public void method1() {
br = new BroadcastReceiver() {
@Override
public void onReceive(Context c, Intent i) {
doTASK();
}
};
registerReceiver(br, new IntentFilter("com.XXXX.wakeup"));
pi = PendingIntent.getBroadcast(this, 0,
new Intent("com.xxxx.wakeup"), 0);
am = (AlarmManager) (this.getSystemService(Context.ALARM_SERVICE));
setAlarmManagerObject();
}
而且setAlarmManagerObject()方法是在這裏
public void setAlarmManagerObject() {
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH);
int day = cal.get(Calendar.DAY_OF_MONTH);
cal.set(year, month, day
, com.XXXX.Constants.AlarmHour
, com.xxxx.Constants.AlarmMinute
, com.xxxx.AlarmSecond);
am.setRepeating(AlarmManager.ELAPSED_REALTIME, cal.getTimeInMillis(),
AlarmManager.INTERVAL_DAY, pi);
}
我的問題是,當我使用它AlarmManager.RTC_WAKEUP時喚醒設備處於關閉狀態。我不希望這個屬性在我的應用程序。所以我用了AlarmManager.ELAPSED_REALTIME,但是ELAPSED_REALTIME報警管理器沒有觸發。我希望我的鬧鐘管理器能夠同時觸發。如果設備處於關閉狀態或睡眠狀態,則設備喚醒後警報管理器也將關閉,它應在準確時間觸發。任何幫助將非常感激。
我也在尋找解決方案,? – DJhon 2014-12-02 07:38:55
我已經回答了一個答案。請檢查。 – maveroid 2014-12-02 07:44:29
ELAPSED_REALTIME:根據自設備啓動以來的時間量觸發掛起的意圖,但不喚醒設備。經過的時間包括設備睡着的任何時間。您可能想嘗試使用RTC代替RTC_WAKEUP。 – 2014-12-02 07:45:43