我有一项通过Intent.ACTION_BATTERY_CHANGED获取电池更新的服务:
batteryFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
batteryReceiver = new BatteryReceiver();
和接收者:
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if(action.equals(Intent.ACTION_POWER_CONNECTED)) {
onBattery = false;
Log.w("battery","on power");
}
else if(action.equals(Intent.ACTION_POWER_DISCONNECTED)) {
Log.w("battery","on battery");
onBattery = true;
}
}
当通过USB调试安装应用程序时,这与预期完全一致。在我将它发布到游戏商店并从那里进行全新安装后,它不起作用。其他接收器也没有在应用程序中工作。应用程序的其余部分似乎工作正常,没有广播接收器工作。什么可能导致这种情况发生?
这是android 2.2,它是对已经在商店中的应用程序的更新,接收器在更新之前也正常工作。
答案 0 :(得分:2)
如果您在Android 3.1+上运行,并且没有手动运行其中一个组件(例如,从启动器启动一个活动),则您的任何清单注册的BroadcastReceiver
都不起作用。