在我的移动应用程序中。我需要触发一个BroadcastReceiver,它会显示一些弹出/系统通知。
此BroadcastReceiver的触发时间
我尝试了以下方式
使用2 BroadcastReceiver的
使用AlaramManager
调用BroacastReceiver 1 Intent intent = new Intent("broadcast.receiver.one.action");
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0,
intent, 0);
AlarmManager manager = (AlarmManager) context
.getSystemService(Context.ALARM_SERVICE);
manager.setRepeating(AlarmManager.RTC_WAKEUP, oneAmCalenderObject.getTimeInMillis(),AlarmManager.INTERVAL_DAY, pendingIntent);
BroadcastReceiver 1将于每天13:00开始,并包含一个计时器,它将每30秒启动一次BroacastReciever 2.
timer.schedule(new TimerTask() {
public void run() {
if (isLessThanTwoPM()) {
callBroadcastReceiverTwo();
} else {
timer.cancel();
}
}
}, 0, 30 * (1000 * 1));
我想知道,如果有更好的方法。