android - 以编程方式检测 Android 中的电源线何时断开连接(USB 或交流充电器)

标签 android battery disconnected batterymanager

            BroadcastReceiver mBatteryReceiver = new BroadcastReceiver() {
            @Override
            public void onReceive(Context context, Intent intent) {
                int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
                int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);
                String batteryPercentage = String.valueOf(level);
                Log.d("battery",batteryPercentage);
                boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING;
                Log.d("ischarging", String.valueOf(isCharging));

                int chargePlug = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
                boolean usbCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_USB;
                boolean acCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_AC;

                String action = intent.getAction();


                int plugged = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
                if (plugged == BatteryManager.BATTERY_PLUGGED_AC && DefaultManager.acChargeConnect && level >= DefaultManager.batteryPercentageTriggerValue) {
                    //do something
                } else if (plugged == BatteryManager.BATTERY_PLUGGED_USB && DefaultManager.usbConnect){
                    //do something
                } else if (plugged == 0) {
                    // on battery power
                } else {
                    // intent didnt include extra info
                }
            }

        };

所以我想检测电源线或 USB 线何时断开连接,并在该事件发生时执行一些操作。 我浏览了 BatteryManager 文档并尝试了那里提到的一些常量,但似乎没有任何效果。我想捕获充电器断开连接的事件来做点什么。任何指针表示赞赏。谢谢

最佳答案

请在此处查看答案以了解要收听的正确操作: How to detect power connected state?

此外,不要创建匿名 BroadcastReceiver,因为它必须在您的 AndroidManifest.xml 中注册

关于android - 以编程方式检测 Android 中的电源线何时断开连接(USB 或交流充电器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36031547/

相关文章:

linux - 处于断开连接状态的 Teamcity 构建代理

.net - 与 SQL DB 的同步框架 : Getting Started

c++ - 使用 QT 在 Linux/Ubuntu 上读取电池状态

android - 超过一天的电池使用信息

android - 谷歌眼镜 GDK : How to Communicate with Android Device

java - 在同一 Activity 上多次调用 OnItemClick 方法 :

ios - 如何获取蓝牙连接设备的电池电量

asp.net-mvc - 在修改现有子 Entity Framework 的同时添加新子对象

android - Gradle 项目同步失败,没有工具链

android - 如何获取当前的 GoogleMap 缩放级别?