我正在使用GcmNetworkManager来安排我的任务。
但它不会在谷歌播放服务版本低于7.5.0的设备上运行。
问题是GcmNetworkManager是否与早于7.5的谷歌播放服务版本兼容,或者我做错了什么。
还有其他任何方法可以安排任务(比如GcmNetworkManager如何做),可以与旧版本的Google Play服务一起使用吗?
答案 0 :(得分:2)
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为您提供的节能优势。