Android BroadcastReceiver在几天后停止接收(本地通知)

Android BroadcastReceiver在几天后停止接收(本地通知),android,broadcastreceiver,alarmmanager,android-pendingintent,android-alarms,Android,Broadcastreceiver,Alarmmanager,Android Pendingintent,Android Alarms,我正在使用一个BroadCastReceiver来触发警报,它可以正常工作2-3天,在它停止工作后,我的BroadCastReceiver中没有收到任何警报。 悬而未决的意图是否有寿命? 事实上,我正在创建30天的警报。我用的是悬挂式帐篷。以下是PendingEvent的代码: PendingIntent pendingIntentScheduler = PendingIntent.getBroadcast(context, REQUEST_CODE, intent, PendingIntent

我正在使用一个BroadCastReceiver来触发警报,它可以正常工作2-3天,在它停止工作后,我的BroadCastReceiver中没有收到任何警报。 悬而未决的意图是否有寿命? 事实上,我正在创建30天的警报。我用的是悬挂式帐篷。以下是PendingEvent的代码:

PendingIntent pendingIntentScheduler = PendingIntent.getBroadcast(context, REQUEST_CODE, intent, PendingIntent.FLAG_UPDATE_CURRENT);            
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, time, pendingIntentScheduler);
以及广播接收机处的接收机:

@Override
public void onReceive(Context context, Intent intent) {
     this.context = context;        
     Log.d("onReceive", "this is broadcast reciever");        
}
Android清单权限:

<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="com.android.alarm.permission.SET_ALARM"/>
  <application>
  <receiver android:name=".medicine.modal.AlarmReceiver" android:permission="android.permission.WAKE_LOCK"
            android:enabled="true" android:exported="true" android:process=":remote">
            <intent-filter>
                <action android:name="com.healthsaverz.nimap.healthmobile.healthsaverz.mainscreen.controller.NotificationActivity" />
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>
   </application>


我找到了一个解决方案,不是合法的,而是一个旁路。也许这会有帮助。我所做的是放置一个每24小时重复一次的重复警报,在这个警报中,我正在重新创建所有未决的意图。因为待定意向的有效期为2-3天(根据我在应用程序中发现的情况)。这会导致每天创建新的挂起意图。

此答案可能有助于参考此链接设备是否已重新启动?如果设备重新启动,所有报警都会消失。为此,我正在检查条件
If(Intent.ACTION\u BOOT\u COMPLETED.equals(Intent.getAction()){//重新创建挂起的Intents}
。重启设备后工作正常。alarmmanager/pending intent是否有使用期限?这可能是问题的根源。你说什么?我找到了一个解决办法,不是合法的,而是绕道而行。也许这会有帮助。我所做的是放置一个每24小时重复一次的重复警报,在这个警报中,我正在重新创建所有未决的意图。因为待定意向的有效期为2-3天(根据我在应用程序中发现的情况)。这导致每天创建新的挂起意图。如果有人找到更好的方法,请分享。。。。。