【发布时间】:2019-09-11 16:09:56
【问题描述】:
这是一个棘手的问题。我有一个在后台收集GPS 数据的应用程序(使用前台服务)。此外,我设置了 3 个应该在几个小时内运行的警报。所有这些都是在设备中安装了MDM 时完成的(SOTI,如果有帮助的话)。
好吧,当应用程序在前台时没有问题,GPS 数据被正确收集,警报在必要时触发。
问题是当我锁定设备或屏幕关闭时。通常,它会收集更多的GPS 数据,并在几分钟内无论如何都会终止应用程序和前台服务。
该设备绝对不需要资源,因为它是MDM 允许的唯一应用程序,并且没有错误,因为我已经实现了 crashlytics 并且它没有提供任何东西。
作为参考,由于我不能发布太多代码,我按预期启动前台服务(使用startForegroundService),并在服务的onCreate() 方法中调用startForeground。另外,我在服务中有一个唤醒锁,但这根本没有帮助。
警报设置为alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, startDate, period, pendingIntent),但当应用程序在后台时,它们不会触发。当我再次启动应用程序时,它们会被重置并触发。
任何关于为什么我的应用程序被杀死的线索?我使用的设备是Huawei Y6,如果有帮助的话。我已经检查了this link 并尽我所能尝试不让我的应用程序被杀死,但我失败了。另外,我检查了转储手机信息的前台服务,该服务被标记为前台服务,优先级为 4(我检查的时间),所以它不应该被杀死......
谢谢你!
【问题讨论】:
标签: android alarmmanager foreground-service