Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓系统取消我的警报,没有我的许可_Android_Alarmmanager - Fatal编程技术网

Android 安卓系统取消我的警报,没有我的许可

Android 安卓系统取消我的警报,没有我的许可,android,alarmmanager,Android,Alarmmanager,我创建了一个android应用程序,简言之,该应用程序只为当天创建一些警报。 同时创建所有报警。当我从shell中终止应用程序时,警报仍然在这里,显然,当我强制终止应用程序时,警报被取消 如何创建一个警报: Intent intent = new Intent(context, AlarmReceiver.class); PendingIntent alarmPendingIntent = PendingIntent.getBroadcast(context, alarmId, intent,

我创建了一个android应用程序,简言之,该应用程序只为当天创建一些警报。 同时创建所有报警。当我从shell中终止应用程序时,警报仍然在这里,显然,当我强制终止应用程序时,警报被取消

如何创建一个警报:

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获得待处理报警的列表