Android 获取充电状态

该博客介绍了如何在Android中获取设备的充电状态,包括通过USB、AC和无线方式的充电检查。通过注册BroadcastReceiver并监听ACTION_BATTERY_CHANGED Intent,可以获取电池的状态信息,并判断设备是否正在充电。
摘要由CSDN通过智能技术生成

 
 
  1. IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);  
  2. Intent batteryStatus = this.registerReceiver(null, filter);  
  3. int chargePlug = batteryStatus.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);  
  4. boolean acCharge = (chargePlug == BatteryManager.BATTERY_PLUGGED_AC);  
  5. if (acCharge) {  
  6.     Log.v(LOG_TAG,“The phone is charging!”);  
  7. }  
  1. /** 
  2.  * This method checks for power by comparing the current battery state against all possible 
  3.  * plugged in states. In this case, a device may be considered plugged in either by USB, AC, or 
  4.  * wireless charge. (Wireless charge was introduced in API Level 17.) 
  5.  */  
  6. private boolean checkForPower() {  
  7.     // It is very easy to subscribe to changes to the battery state, but you can get the current  
  8.     // state by simply passing null in as your receiver.  Nifty, isn't that?  
  9.     IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);  
  10.     Intent batteryStatus = this.registerReceiver(null, filter);  
  11.   
  12.     // There are currently three ways a device can be plugged in. We should check them all.  
  13.     int chargePlug = batteryStatus.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);  
  14.     boolean usbCharge = (chargePlug == BatteryManager.BATTERY_PLUGGED_USB);  
  15.     boolean acCharge = (chargePlug == BatteryManager.BATTERY_PLUGGED_AC);  
  16.     boolean wirelessCharge = false;  
  17.     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {  
  18.         wirelessCharge = (chargePlug == BatteryManager.BATTERY_PLUGGED_WIRELESS);  
  19.     }  
  20.     return (usbCharge || acCharge || wirelessCharge);  
  21. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值