我使用一个BroadcastReceiver来触发警报,它可以正常工作2-3天,在它停止工作之后,我不会在我的BroadCastReceiver中收到任何警报。是否存在用于待定意图的lifeSpan?实际上,我要制造30天的警报。我在用PendingIntents。下面是PendingIntent的代码:
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);BroadcastReceiver的接受者:
@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>发布于 2015-02-25 10:30:18
我找到了一个解决方案,不是合法的,而是旁路。也许这会对某人有帮助。我所做的就是设置一个重复的警报,每24小时重复一次,在其中我重新创建了所有悬而未决的意图。因为待定意图的生命是2-3天(根据我在我的应用程序中发现的)。这导致每天创建新的待定意图。
https://stackoverflow.com/questions/27598852
复制相似问题