Android 安卓系统取消我的警报,没有我的许可
我创建了一个android应用程序,简言之,该应用程序只为当天创建一些警报。 同时创建所有报警。当我从shell中终止应用程序时,警报仍然在这里,显然,当我强制终止应用程序时,警报被取消 如何创建一个警报:Android 安卓系统取消我的警报,没有我的许可,android,alarmmanager,Android,Alarmmanager,我创建了一个android应用程序,简言之,该应用程序只为当天创建一些警报。 同时创建所有报警。当我从shell中终止应用程序时,警报仍然在这里,显然,当我强制终止应用程序时,警报被取消 如何创建一个警报: Intent intent = new Intent(context, AlarmReceiver.class); PendingIntent alarmPendingIntent = PendingIntent.getBroadcast(context, alarmId, intent,
Intent intent = new Intent(context, AlarmReceiver.class);
PendingIntent alarmPendingIntent = PendingIntent.getBroadcast(context, alarmId, intent, 0);
alarmManager.set(AlarmManager.RTC_WAKEUP, date.getTimeInMillis(), alarmPendingIntent);
还有我的舱单:
...
<receiver
android:name=".schedule.AlarmReceiver"
android:enabled="true"
android:exported="true" />
...
。。。
...
问题是:我的安卓系统取消了所有警报,但没有明显问题…
我做了一些测试,即使应用程序打开,系统也会取消我的警报,不是系统性的,但有时
那么,什么原因可以取消我的应用程序的警报,强制杀戮排除
谢谢:)您是否检查了
.schedule.AlarmReceiver
是否真的没有接收到所有报警广播?它可能会被触发,但由于一些非前台/权限问题,接收者会立即被杀死。此外,您的目标API版本是什么,以及您的代码是在哪个API版本上执行的?此外,还有打盹模式和应用程序待机问题,但这只会延迟警报,而不会完全删除警报。是.schedule.AlarmReceiver
接收所有警报广播。我用一个简单的测试来检查它:函数create all my alarms,另一个函数检查报警是否存在(创建相同的意图并执行pendingent.getBroadcast(context,intentId,intent,pendingent.FLAG_NO_create)!=null
返回true
如果报警启动).第一次检查功能返回所有警报时,但有时在取消所有警报后。。。目标API:25,执行API 26,最小API 16你在什么设备上测试这个?你怎么知道警报被Android取消了?您可以通过使用adb shell dumpsys alarm获得待处理报警的列表