我的应用有一个广播接收器来监听 ACTION_POWER_CONNECTED
的变化,然后标记屏幕以保持打开状态。
我缺少的是应用程序在首次运行时检查充电状态的能力。任何人都可以帮我编写代码以手动检查充电状态吗?
最佳答案
感谢 CommonsWare,这是我编写的代码。
public class Power {
public static boolean isConnected(Context context) {
Intent intent = context.registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
int plugged = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
return plugged == BatteryManager.BATTERY_PLUGGED_AC || plugged == BatteryManager.BATTERY_PLUGGED_USB || plugged == BatteryManager.BATTERY_PLUGGED_WIRELESS;
}
}
if (Power.isConnected(context)) {
...
}
或 Kotlin 版本
object Power {
fun isConnected(context: Context): Boolean {
val intent = context.registerReceiver(null, IntentFilter(Intent.ACTION_BATTERY_CHANGED))
val plugged = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1)
return plugged == BatteryManager.BATTERY_PLUGGED_AC || plugged == BatteryManager.BATTERY_PLUGGED_USB || plugged == BatteryManager.BATTERY_PLUGGED_WIRELESS
}
}
http://developer.android.com/training/monitoring-device-state/battery-monitoring.html
关于android - 检查设备是否已插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5283491/