在我的应用程序中,我需要在每天上午 9 点、下午 3 点、晚上 8 点显示通知。怎么做...我应该使用警报管理器吗?我应该创建 3 个警报管理器还是一个可以为我做这些事情?最简单的方法是什么?有教程吗?谢谢
问问题
245 次
2 回答
1
我会使用 AlarmManager 设置早上 9 点的闹钟。然后,当 BroadcastReceiver 处理警报时,我会让它为下午 3 点设置一个新警报。当该 BroadcastReceiver 被触发时,将其设置为晚上 8 点,依此类推。
于 2012-10-16T19:10:22.953 回答
0
使用一个警报管理器。
像这样的东西(只是粗略的代码)
int duration = 0; // seconds
int now = getTwentyFourHrTime();
if (now == 9) { duration = 6*60*60; }
if (now == 15) { duration = 5 * 60 * 60 ; }
if (now == 20) { duration = 13 * 60 * 60 ; }
AlarmManager alarmMgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(this, MyAlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
Calendar time = Calendar.getInstance();
time.setTimeInMillis(System.currentTimeMillis());
time.add(Calendar.SECOND, duration);
alarmMgr.set(AlarmManager.RTC_WAKEUP, time.getTimeInMillis(), pendingIntent);
于 2012-10-16T19:26:55.207 回答