0%

Android开发:优化电池续航-手动按需操作广播接收器

原文:http://developer.android.com/training/monitoring-device-state/manifest-receivers.html 如果是在代码里注册的广播接收器,unregister一下就可以了。但如果是在manifest里注册的,这样不行。使用PackageManager可以切换manifest里定义的任何组件启用状态,包括广播接收器。

ComponentName receiver = new ComponentName(context, myReceiver.class);
PackageManager pm = context.getPackageManager();
pm.setComponentEnabledSetting(receiver,
        PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
        PackageManager.DONT_KILL_APP)

当你失去网络连接时,可以通过这项技术,关闭除网络连接改变接收器以外的其他接收器。