操作需求的广播接收器
监控设备状态变化的最简单的方法是创建一个注册的BroadcastReceiver
为你监视每个州和每个应用程序清单。然后,在这些接收器,您只需根据当前设备状态的重新安排您的经常性的报警。
这种方法的一个副作用是,您的应用程序将唤醒器件,这些接收器被触发潜在的机会大大多于需要的时间。
更好的方法是在运行时禁用或启用的广播接收器。通过这种方式,你可以使用中声明所触发的系统事件,只在必要时表现为被动式报警接收器。
切换和串级状态更改接收器,以提高效率
使用可以使用的套装软体
的启用状态切换在清单中定义的任何组件,包括两者广播接收机,您希望启用或禁用如下面的代码片段所示:
ComponentName receiver = new ComponentName(context, myReceiver.class); PackageManager pm = context.getPackageManager(); pm.setComponentEnabledSetting(receiver, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP)
使用这种技术,如果您确定的连接已丢失,您可以禁用所有的接收器接收器除了连接变化。相反,一旦你连接时,您可以停止侦听连接的变化,简单地检查,看看是否你在网上立即执行更新前和重新安排一个定期更新报警。
您可以使用同样的方法来延迟下载,需要更高的带宽来完成。只要使一个的侦听连接变化和广播接收器,启动下载后,您连接到Wi-Fi。