0
我想执行一些任务,当我得到ACTION_BOOT_COMPLETED
意图,我使用下面的代码来检查设备是否插好,但我得到方法是未定义的类型BootReceiver在registerReceiver
。谁能找到解决方案?这是我正在做的。安卓:如何使用registerReceiver在广播接收器
public class BootReceiver extends BroadcastReceiver {
@Override
public void onReceive(final Context context, Intent intent) {
if (intent.getAction().equalsIgnoreCase(Intent.ACTION_BOOT_COMPLETED)) {
if(isCharging())
doSomething(); //something to perform after boot if plugged in
}
public boolean isCharging() {
IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent batteryStatus = registerReceiver(null, filter); //getting error here
boolean strState;
int chargeState = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
switch (chargeState) {
case BatteryManager.BATTERY_STATUS_CHARGING:
case BatteryManager.BATTERY_STATUS_FULL:
strState = true;
break;
default:
strState = false;
}
return strState;
}
}
我已经在使用它,再次检查有问题的代码上下文中定义,我得到同样的错误 – user5845271
请看更新的答案 –
我很愚蠢,谢谢我用'context.registerReceiver(null,filter)调用它。 ',它做到了。 – user5845271