【发布时间】:2016-10-20 23:08:10
【问题描述】:
我们以下面的服务为例:
public class MyService extends Service {
final BroadcastReceiver mScreenStateReceiver = new BroadcastReceiver() {
@Override public void onReceive(Context context, Intent intent) {
//Do nothing
}
};
@Override
public void onCreate() {
super.onCreate();
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(Intent.ACTION_SCREEN_OFF);
intentFilter.addAction(Intent.ACTION_SCREEN_ON);
registerReceiver(mScreenStateReceiver, intentFilter);
}
@Override
public void onDestroy() {
super.onDestroy();
unregisterReceiver(mScreenStateReceiver);
}
}
请注意,此 BroadcastReceiver 需要在 RUNTIME 注册(比如说,服务或活动)。这就是我使用服务的原因
假设该服务将在设备打开的整个过程中运行,有一个工作的广播接收器并且什么都不做,它会耗尽电池寿命吗?如果会,多少钱?运行 Service 或 Broadcast Receiver 是否会使 Android 框架消耗更多电量?
我知道,我是个电池续航狂
【问题讨论】:
标签: android service broadcastreceiver battery