警报重置多次触发onReceive方法

时间:2016-10-06 05:34:39

标签: android

我的接收器多次设置闹钟。当我启动我的设备时,我正在使用启动接收器并调用服务来重置先前设置的警报。假设,我设置了三个警报,但 onRecieve()被多次触发。

在我的服务中用于重置警报的代码:

   sender = PendingIntent.getBroadcast(UpdateService.this,nofify_id,
                        intent1, PendingIntent.FLAG_ONE_SHOT);


                if(Build.VERSION.SDK_INT >= 23)
                {
                    am.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP,  calendar.getTimeInMillis(), sender);
                }
                else  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT && Build.VERSION.SDK_INT < 23) {
                    am.setExact(AlarmManager.RTC_WAKEUP,          calendar.getTimeInMillis(), sender);
                }

                else if(Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT )
                {
                    am.set(AlarmManager.RTC_WAKEUP,     calendar.getTimeInMillis(), sender);
                }

这是将被称为

的接收器代码
public class OneShotAlarm extends BroadcastReceiver
{
    @Override
    public void onReceive(Context context, Intent intent)
// calling multiple times`enter code here`

}

}

0 个答案:

没有答案
相关问题