Android 如果我的应用程序未运行,AlarmManager是否工作

Android 如果我的应用程序未运行,AlarmManager是否工作,android,alarmmanager,Android,Alarmmanager,如果我正在与我的应用程序交互(使用),我有一个警报可以正常工作,但如果我将其设置为第二天,并且没有与我的应用程序交互,则警报无法工作。因此,我怀疑这是否是因为我的应用程序进程当时没有运行 这就是我正在做的 Calendar calSet = Calendar.getInstance(); calSet.set(Calendar.HOUR_OF_DAY, selectedhour); calSet.set(Calendar.MINUTE, selectedminute);

如果我正在与我的应用程序交互(使用),我有一个警报可以正常工作,但如果我将其设置为第二天,并且没有与我的应用程序交互,则警报无法工作。因此,我怀疑这是否是因为我的应用程序进程当时没有运行

这就是我正在做的

    Calendar calSet = Calendar.getInstance();
    calSet.set(Calendar.HOUR_OF_DAY, selectedhour);
    calSet.set(Calendar.MINUTE, selectedminute);
    calSet.set(Calendar.YEAR, year);
    calSet.set(Calendar.MONTH, monthOfYear);
    calSet.set(Calendar.DATE, dayOfMonth);
    alarm = new Intent(ActivityA.this, Service.class);
    pendingIntent = PendingIntent.getService(getApplicationContext(), i++,alarm, 1);
    alarmanager.set(AlarmManager.RTC_WAKEUP, calSet.getTimeInMillis(),pendingIntent);  

是,如果重新启动手机,您将丢失已注册的AlarmManager意图。要解决这个问题,您应该为
BOOT\u COMPLETED
创建一个广播接收器。在接收器的
onreceive()
事件中,您需要重新注册以前注册的所有报警

但是,如果您的进程仅被终止,而手机尚未重新启动,则您的闹钟仍应响起


这可能会对您有所帮助:

据我所知,
AlarmManager
只会发出警报,无论您的应用程序是否正在运行。这个问题应该更像是,如果你的应用程序处理了触发的警报,或者没有…检查这个:和