-3

私はON_CHANGEイベントをリッスンする単純な放送局を持っているので、私の主な質問は、なぜ私の電話が1%ではなく、2%、3%、または4%ジャンプするのかということです。

そして、それは時々電話が眠っていてその意図を受け取らないように感じます、しかししばらくするとそれは眠りから戻って1%ではなく4%を取得します 編集

   /* Broadcast Receiver for battery stats                                               */
            IntentFilter batteryLevelFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);


            batteryLevelReceiver = new BroadcastReceiver(){
                @Override
                public void onReceive(Context context, Intent intent){
                    int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
                    int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
                    int isCharging = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);

......

    registerReceiver(batteryLevelReceiver, batteryLevelFilter);
4

1 に答える 1

2

だから私の主な質問は、なぜ私の電話が1%ではなく2%、3%、または4%ジャンプすることがあるのですか?

これは起こらないはずです。通常、ブロードキャストは、バッテリーが1%消耗した後(またはバッテリーの状態が一般的に変化した後)に起動します。ただし、例外が1つあります。一部のMotorolaデバイスでは、ACTION_BATTERY_CHANGED10%ごとにのみ起動します。Broadcastreceiverの実際の例として、私がしばらく前に与えたこの回答ACTION_BATTERY_CHANGEDを参照してください。

しかし、しばらくすると睡眠から戻り、1%ではなく4%になります

Broadcastreceiverは電話を起こさないので、これは珍しいことではありません:)

于 2013-03-15T20:02:54.857 に答える