Java 为什么我的手机关机后,我的常规通知会停止?

Java 为什么我的手机关机后,我的常规通知会停止?,java,android,alarmmanager,Java,Android,Alarmmanager,我编写了一个应用程序,并设置了一个报警管理器,设置为每3小时发送一次通知。假设我的通知必须在11:10发送,我的手机在11:00关机。因此,我不会收到任何通知。当我的手机打开时,我将在2:10收到下一个通知,因此一切正常 尽管如此,据观察,在我的手机发出两轮通知后,我将不会收到任何通知。你有什么建议吗 提供的代码是: Intent intentAlarm = new Intent(this, NotifyBroadcast.class); Pendin

我编写了一个应用程序,并设置了一个报警管理器,设置为每3小时发送一次通知。假设我的通知必须在11:10发送,我的手机在11:00关机。因此,我不会收到任何通知。当我的手机打开时,我将在2:10收到下一个通知,因此一切正常

尽管如此,据观察,在我的手机发出两轮通知后,我将不会收到任何通知。你有什么建议吗

提供的代码是:

Intent intentAlarm = new Intent(this, NotifyBroadcast.class);
                      PendingIntent pintentAlarm = PendingIntent.getBroadcast(this, 0, intentAlarm, PendingIntent.FLAG_CANCEL_CURRENT);
                      AlarmManager mgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
                      // Start every 30 seconds
                      mgr.setRepeating(AlarmManager.RTC_WAKEUP, Calendar.getInstance().getTimeInMillis(), 300, pintentAlarm);


// NotifyBroadcast:


public  class NotifyBroadcast extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
    // TODO Auto-generated method stub




    NotificationManager mNotificationManager =
            (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);


            Intent resultIntent = new Intent(context, MainActivity.class);


            PendingIntent resultPendingIntent =
                    PendingIntent.getActivity(
                    context,
                    0,
                    resultIntent,
                    0
                ); 



            Notification notification = new Notification(R.drawable.ic_launcher, "Let me know what is your emotion buddy!", System.currentTimeMillis());
            notification.defaults |= Notification.DEFAULT_SOUND;
            notification.sound = Uri.parse("file:///sdcard/notification/notification.mp3");
            //notification.flags = Notification.FLAG_AUTO_CANCEL;

            notification.setLatestEventInfo(context, "emotion interface", "Let me know what is your emotion buddy!", resultPendingIntent);



            int mId = 001;
            // mId allows you to update the notification later on.
            mNotificationManager.notify(mId, notification); 
          //  mNotificationManager.notify(mId,mBuilder.build());

            // mNotificationManager.cancel(mId);

}

}

我不太理解以下部分:

在我的手机发出两轮通知后,我将不会收到任何通知

重新启动后,只需检查您是否正在重新启动服务。为此,您需要添加一个接收器,在重新启动后再次启动您的服务。你需要在android.intent.action.BOOT\u上处理这个问题,完成了intent广播。可能对您有所帮助的一些问题包括:


希望这能有所帮助

你能澄清一下问题是什么吗?你的意思是,在你的例子中,你的手机不仅错过了11:10的通知,还错过了2:10的通知,你想知道为什么吗?