从Play商店安装应用程序时,Android BroadcastReceiver无法正常工作

时间:2012-08-13 18:20:32

标签: android android-intent google-play broadcast

我有一项通过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,它是对已经在商店中的应用程序的更新,接收器在更新之前也正常工作。

1 个答案:

答案 0 :(得分:2)

如果您在Android 3.1+上运行,并且没有手动运行其中一个组件(例如,从启动器启动一个活动),则您的任何清单注册的BroadcastReceiver都不起作用。