第一种方法:注册广播

IntentFilter filter = new IntentFilter();filter.addAction(Intent.ACTION_BATTERY_CHANGED);registerReceiver(receiver,filter);
接收到广播后,用getIntExtra("level")和getIntExtra("scale")获得相应值
   
   
这种方法比较被动,需要电量变化系统发出广播才能得到电量


第二种方法: 通过BatteryManager

   
   
BatteryManager batteryManager = (BatteryManager)getSystemService(BATTERY_SERVICE);int battery = batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY);这种方法可以主动去获取电量,不必被动的等电量变化之后才能获取到第三种方法:使用adb去获取
通过adb shell dumpsys battery,返回结果后有电池的各种信息,其中就包括level(百分比)


注意:

android.intent.action.SCREEN_ON

android.intent.action.SCREEN_OFF

android.intent.action.BATTERY_CHANGED

这两个广播只能动态注册



更多相关文章

  1. android 获取系统电量
  2. Android 之 监控手机电量
  3. Android电池电量更新 - BatteryService(转)
  4. android获取手机电量
  5. Android百分比布局(PercentRelativeLayout)嵌套NavigationView自
  6. Android百分比布局
  7. android 按百分比设置布局
  8. Delphi XE5 android 获取电池电量

随机推荐

  1. 安装Android studio 时候显示:SDK tools d
  2. Android单元测试总结
  3. Android应用程序绑定服务(bindService)的过
  4. 深入浅出Android之学习笔记
  5. Android 创建,验证和删除桌面快捷方式 (
  6. 2010.12.29——— android 可伸缩的listv
  7. Android 高斯模糊 RenderScript封装工具
  8. Android Studio 2.0 Instant Run问题
  9. Android MTK Launcher3安装三方apk,应用图
  10. Android弹性动画三种实现方式