26
我有一組警報,需要在重啓後保留。我試過在啓動接收器上使用,但他們不會再啓動。我不確定是否瞭解啓動接收器以及如何重新啓動所有報警。我的通知已經有一個接收器,但不知道我是否可以使用相同的接收器,或者是否需要新的接收器?Android AlarmManager重啓後
任何人都可以指向我的任何好的教程或幫助我嗎?
乾杯
代碼:
DatabaseHandler db = new DatabaseHandler(this);
List<UAlarm> alarms = db.getAllAlarms();
AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
for (UAlarm ua : alarms) {
String programme = ua.getTitle();
String startTime = ua.getStart();
String endTime = ua.getEnd();
String nowPlaying = ua.getChannel();
db.addAlarm(new UAlarm(programme, startTime, endTime, nowPlaying, ""));
final UAlarm ut = new UAlarm();
ut.setTitle(programme);
ut.setStart(startTime);
ut.setEnd(endTime);
ut.setChannel(nowPlaying);
ut.setId(db.getLastEntered());
String [] bla = startTime.split(":");
int hour = Integer.parseInt(bla[0].trim());
int minute = Integer.parseInt(bla[1].trim());
minute -= 2;
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, hour);
cal.set(Calendar.MINUTE, minute);
Intent intenta = new Intent(this, NotificationMenu.class);
String name = programme;
intenta.putExtra("name", name);
intenta.putExtra("id", db.getLastEntered());
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, ua.getId(),
intenta, PendingIntent.FLAG_CANCEL_CURRENT);
am.set(AlarmManager.RTC_WAKEUP,
cal.getTimeInMillis(), pendingIntent);
}
}
與NotificationMenu被通知,這就是爲什麼我使用AlarmManager
感謝分享,但爲什麼我沒有看到你的代碼@CommonsWare'BOOT_COMPLETED'? – ericn
@fuzzybee:你顯然沒有點擊答案中的超鏈接來檢查整個項目,包括其清單。 – CommonsWare
我的不好,謝謝@CommonsWare – ericn