Java 用于持久频繁调度的AlarmManager备选方案
我注意到Android 5.1不再接受时间间隔小于60秒的重复报警() 我正在开发一个记录无线网络信息的应用程序。对于应用程序的操作,它必须每1-2秒执行一次操作,并且即使使用了大量资源,也不会被操作系统杀死或挂起。长时间(几个小时)的可靠运行是最重要的。对电池寿命的影响不是一个问题Java 用于持久频繁调度的AlarmManager备选方案,java,android,android-alarms,Java,Android,Android Alarms,我注意到Android 5.1不再接受时间间隔小于60秒的重复报警() 我正在开发一个记录无线网络信息的应用程序。对于应用程序的操作,它必须每1-2秒执行一次操作,并且即使使用了大量资源,也不会被操作系统杀死或挂起。长时间(几个小时)的可靠运行是最重要的。对电池寿命的影响不是一个问题 到目前为止,实现此功能最可靠的方法是使用重复报警。现在Android 5.1不再是一个选项。替换AlarmManager实现的最佳选项是什么?作为一种解决方法,您可以设置60个报警,为当前实现提供灵活的解决方案。检
到目前为止,实现此功能最可靠的方法是使用重复报警。现在Android 5.1不再是一个选项。替换AlarmManager实现的最佳选项是什么?作为一种解决方法,您可以设置60个报警,为当前实现提供灵活的解决方案。检查操作系统版本,并根据需要设置尽可能多的警报
但对于一个长期的解决方案,我建议您实现类似于音乐播放器的粘性前台服务。简单的Handler.postdayed应该足以让它保持活力。这样做的原因是报警不准确,最好对过程进行一些控制 据我所知,有两种可能的解决方案-设置60个警报或使用前台模式实现服务。前台服务是我尝试的第一件事。记录器一直被操作系统杀死。设置60个警报是我从未想到过的事情。这绝对值得一试。谢谢请注意,当设备处于打瞌睡模式时,您的应用程序将无法在Android 6.0及更高版本上运行。@Commonware我相信至少在Android M preview中,可以逐个应用禁用打瞌睡模式。如果公开发布版本是这样的话,那就不是什么大问题了,因为我们的应用程序针对的是训练有素的专业人士,他们可以很容易地被指示关闭应用程序的瞌睡模式。“可以逐个应用程序禁用瞌睡模式”--不。您考虑的是应用程序待机,虽然相关,但它不是瞌睡模式。打瞌睡模式会影响静止/非充电设备的所有应用程序。现在,如果您的设备总是安装在充电器上,那么当充电器工作时,打瞌睡模式将不会启动(例如,大楼内没有断电)。