在设备 运行 Google Play Services < 7.5.0 上使用 GcmNetworkManager
Using GcmNetworkManager on devices running Google Play Services < 7.5.0
我正在使用 GcmNetworkManager 来安排我的任务。
但它不会 运行 在 google 播放服务版本低于 7.5.0 的设备上。
问题是 GcmNetworkManager 是否与 google 7.5 之前的播放服务版本不兼容,或者我做错了什么。
还有其他方法可以安排任务(比如 GcmNetworkManager 的做法)可以与旧版本的 google 播放服务一起使用吗?
GcmNetworkManager 是在 Google Play Services 7.5.0 中添加的,因此它不适用于旧版本。 (公告博客 post 此处: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 可以为您提供的节能优势。
我正在使用 GcmNetworkManager 来安排我的任务。
但它不会 运行 在 google 播放服务版本低于 7.5.0 的设备上。
问题是 GcmNetworkManager 是否与 google 7.5 之前的播放服务版本不兼容,或者我做错了什么。
还有其他方法可以安排任务(比如 GcmNetworkManager 的做法)可以与旧版本的 google 播放服务一起使用吗?
GcmNetworkManager 是在 Google Play Services 7.5.0 中添加的,因此它不适用于旧版本。 (公告博客 post 此处: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 可以为您提供的节能优势。