我正在使用GcmNetworkManager来安排我的任务。
但是在google play服务版本低于7.5.0的设备上将无法运行。
问题是,如果GcmNetworkManager与低于7.5版本的google play服务不兼容,还是我做错了什么?
另外,是否有其他方法来安排任务(类似于GcmNetworkManager),可以在旧版本的google play服务中使用?
我正在使用GcmNetworkManager来安排我的任务。
但是在google play服务版本低于7.5.0的设备上将无法运行。
问题是,如果GcmNetworkManager与低于7.5版本的google play服务不兼容,还是我做错了什么?
另外,是否有其他方法来安排任务(类似于GcmNetworkManager),可以在旧版本的google play服务中使用?
GcmNetworkManager是在Google Play Services 7.5.0中添加的,因此它不适用于旧版本。(公告博客文章在这里:http://android-developers.blogspot.com/2015/05/a-closer-look-at-google-play-services-75.html)
然而,Google Play服务会在后台通过Google Play自动更新,所以用户应该始终拥有最新版本。
如果由于某种原因您不想使用GcmNetworkManager,则唯一的其他选择是使用JobScheduler API。实际上,这就是GcmNetworkManager在较新设备上内部使用的内容。问题是,此API仅适用于运行Android 5.0+的设备。(使用GcmNetworkManager的主要好处是它包括向旧设备提供兼容性代码。)
或者,您可以在旧设备上使用AlarmManager,因为它自Android 1.0以来就存在。但是,如果您的任务与网络相关,则无法获得JobScheduler或GcmNetworkManager通常提供的节能效益。
AlarmManager
自Android 1.0以来就存在了。然而,你需要负责检测是否有互联网访问权限并自行处理。 - CommonsWare