3

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 デバッグ経由でインストールされている場合、これは期待どおりに機能します。これを Play ストアに公開し、そこから新規インストールを行った後、機能しません。他の受信機もアプリで動作していません。アプリの残りの部分は正常に動作しているように見えますが、ブロードキャスト レシーバーが動作していません。これが起こる原因は何ですか?

これはAndroid 2.2で、すでにストアにあったアプリのアップデートです.受信機はアップデート前も正常に動作していました.

4

1 に答える 1

2

Android 3.1以降で実行していて、コンポーネントの1つを手動で実行しなかった場合(たとえば、ランチャーからアクティビティを開始した場合)、マニフェストに登録されたは機能しませんBroadcastReceiver

于 2012-08-13T18:31:08.203 に答える