-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%(或电池状态一般发生变化)后,广播会启动。不过有一个例外。在某些摩托罗拉设备上,ACTION_BATTERY_CHANGED每 10% 才会启动一次。对于 Broadcastreceiver 的工作示例,它收听了ACTION_BATTERY_CHANGED我不久前给出的这个答案

但过了一段时间,它从睡眠中恢复过来,不是 1%,而是 4%

Broadcastreceiver 不会唤醒您的手机,所以这并不罕见 :)

于 2013-03-15T20:02:54.857 回答