电池状态始终不充电

Moh*_*nde 6 java android status power-management

@Override
public void onReceive(Context context, Intent intent) {
int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS,
    BatteryManager.BATTERY_STATUS_UNKNOWN);

    if (status == BatteryManager.BATTERY_STATUS_CHARGING
        || status == BatteryManager.BATTERY_STATUS_FULL)
        Toast.makeText(context, "Charging!", Toast.LENGTH_SHORT).show();
    else
        Toast.makeText(context, "Not Charging!", Toast.LENGTH_SHORT).show();
}
Run Code Online (Sandbox Code Playgroud)

表现:

<receiver android:name=".receiver.BatteryReceiver">
    <intent-filter>
        <action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>
        <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/>
        <action android:name="android.intent.action.BATTERY_CHANGED" />
    </intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)

在此代码中,Toast始终显示"Not Charging!".我在实际设备上对此进行了测试,当我将其插入AC或USB电源时,它仍显示"Not Charging!" 吐司.

Com*_*are 6

您无法ACTION_BATTERY_CHANGED通过清单注册,因此您没有收到这些广播.你试图获得BatteryManager额外的东西Intents没有那些额外的东西(例如ACTION_POWER_CONNECTED).因此,您将获得默认值BATTERY_STATUS_UNKNOWN.