Android BatteryManager.EXTRA_PLUGGED返回AC

时间:2016-03-21 10:05:46

标签: android usb batterymanager

在Axon ZTE设备中,当我运行reciver

private String isConnected(Context context) {
    String sRet = "";
    try {
        final Intent mIntent = context.getApplicationContext().registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
        int plugged = mIntent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);

        if ((plugged == BatteryManager.BATTERY_PLUGGED_AC) && ac_connected == false) {
            ac_connected = true;
            sRet = "AC";
        } else if (plugged == BatteryManager.BATTERY_PLUGGED_USB) {
            ac_connected = true;
            sRet = "USB";
            //Toast.makeText(ctx, "connected to usb ", Toast.LENGTH_LONG).show();

        } else {
            sRet = "NOT CHARGING";
        }
    } catch (Exception e) {
        sRet = "";
    }

    return sRet;

}

它总是返回" AC"而不是USB,在其他设备中,reciver运行良好。 它怎么可能发生?

1 个答案:

答案 0 :(得分:0)

我看到了类似的行为。设备制造商/ ROM可能未正确报告。没什么可做的,除非您更喜欢挖掘设备日志,否则您也许可以在终端中进行一些查询。