0

電話がプラグ、USBケーブルで充電されているか、まったく充電されていない場合、アプリに表示しようとしています。以下のコードを使用しています。USB ケーブルを使用している場合は「USB ケーブルで充電中」と表示され、電話のバッテリーが満タンまたは充電されていない場合は「充電していません」と表示されます。しかし、プラグを介して電話を充電している場合、「USBケーブルを介して充電中」と表示されます。私は通常の AC プラグ充電器を使用していますが、USB ケーブルを差し込める AC プラグ充電器ではありません (問題がある場合)。なぜこれが起こるのですか?

        IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
        Intent batteryStatus = registerReceiver(null, filter);

        int chargeState = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1);

        if(chargeState == BatteryManager.BATTERY_PLUGGED_USB)
        {
            chargingBy = "charging via usb cable";
        }
        else if (chargeState == BatteryManager.BATTERY_PLUGGED_AC)
        {
            chargingBy = "charging via plug";
        }
        else
        {
            chargingBy = "not charging";
        }
4

1 に答える 1

1

USB ポートには次の 3 種類があります。

  1. 標準ポート。
  2. 課金ダウンストリーム ポート。
  3. 専用の充電ポート。

最初の 2 つはコンピュータにあり、3 番目の種類は「ダム」ウォールチャージャーに適用されます。

どのモデルの電話でテストしていますか?


EXTRA_STATUSデバイスがどのように充電されているかを知ることに慣れていない

EXTRA_PLUGGED代わりに使用

于 2013-08-09T16:23:25.453 に答える