java - 如何知道手机是否在充电

标签 java android

我需要知道(通过我的应用程序)Android 设备是否正在充电。有任何想法吗?谢谢

最佳答案

我发现的一件事是,如果您的手机电量为 100%,您将不会收到充电通知。有的人说充电,有的人说有外接电源的时候,不管是不是100%。我将它们合二为一,如果有任何条件为真,则返回真。

public static boolean isPhonePluggedIn(Context context){
    boolean charging = false;

    final Intent batteryIntent = context.registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
    int status = batteryIntent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
    boolean batteryCharge = status==BatteryManager.BATTERY_STATUS_CHARGING;

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

    if (batteryCharge) charging=true;
    if (usbCharge) charging=true;
    if (acCharge) charging=true; 

    return charging;
}

关于java - 如何知道手机是否在充电,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6243452/

相关文章:

java - BufferedInputStream.read(byte[] b, int off, int len) 中的 off 参数

java - fragment 中级 (II) :Dynmically adding row in a fragment, Android

java - Android 的 Google+ 登录无法正常工作,错误代码 4

android - 什么是使用 Messenger 或 Intent 进行更快的交流?

Android map View 问题

java - 在数组中存储多种类型时,创建一个 Object 类型的数组还是创建一个新的 Class 是更好的 Java 实践?

java - 简单框架 XML 反序列化

Java 类和接口(interface)名称冲突

java - 是否存在不受垃圾回收影响的对象?

php - 好的http3 : writing to MySQL from Android