2
我有一个活动,这里有两个按钮:如何通过AlarmManager管理BroadcastReceiver?
按钮一为“选择报警时间”。当我点击它时,TimePicker出现,我选择了闹钟的时间。
按钮二用于“设置闹钟”。当我点击它时,报警设置。
我在做什么:
在设置闹钟时间,我会打电话给BroadcastReceiver
。在演示中,我只打印了我设定的报警时间和Toast
什么是查询的字符串:
“如果我设定闹钟时间一样,当前时间下午4:00我设置报警时间下午6点。在这种情况下报警随时拨打BroadcastReceiver
和它的Work Fine
。
BUT
如果当前时间是下午4点00分并且我设置了闹钟2.00PM然后它同时打电话给BroadCastReceiver
而我不想这么做。
。
对于AlarmManager我用这个片段:
AlarmManager am = (AlarmManager) getSystemService(SetAlarm.ALARM_SERVICE);
Intent intent1 = new Intent(SetAlarm.this, BroadCast.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(SetAlarm.this, 0,intent1,PendingIntent.FLAG_UPDATE_CURRENT);
am.setRepeating(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent);
向下投票者,如果我问了一些错误或者建议我我做了什么或者错了什么,请做出正确的选择? –
这看起来像是一个合法的问题。 +1 – sarwar
这样做,在广播接收机内部,检查时间,我假定你将这个值存储在一个共享首选项或类似的东西中,比较当前时间n当天设置的时间。如果在当前时间之前,不要做任何其他操作@AM我面临与服务相同,所以我不得不通过把条件 –