【发布时间】:2014-10-21 09:54:03
【问题描述】:
我的应用程序不断接收位置更新和活动识别更新,并不时将所有收集到的活动和位置记录分批发送到服务器。
我知道每次我执行网络操作时 - WIFI 或移动设备的无线电状态(取决于当前的活动连接)都会进入活动状态,并在待机状态下保持一段时间 - 什么会显着影响执行频繁的网络请求时的电池使用情况,因此我正在安排警报以执行与服务器的同步,以便在 2 小时内执行一次,或者当用户明确使用我的应用程序时。
另一方面,如果可能,我们希望以更短的时间间隔将收集到的数据与服务器同步。
我在想,如果我能知道无线电状态何时因任何原因变为活动状态(例如,当另一个应用程序执行网络操作时) - 这将是一个执行同步的好机会,以利用无线电是无论如何打开或处于待机状态并消耗更多电量。
我的问题:
- 是否可以按照我的描述检测到这种无线电状态?
- 如果是,那怎么办?您认为这样做是个好主意吗?
我期待 android 5.0 中引入的新 JobScheduler 将支持在网络无线电处于活动状态时调度作业,但根据 API 似乎并非如此。我相信它会同时批处理所有需要网络的作业,但只有在设备上的所有应用程序都明智地使用它的理想世界中才会好。
【问题讨论】:
标签: android android-wifi android-networking network-traffic