【Android论文栏目提醒】:网学会员在Android论文频道为大家收集整理了“android手机的充电情况监视–源码研究 - 讲义教程“提供大家参考,希望对大家有所帮助!
android手机的充电情况监视–源码研究八 发表于698 天前 ??
android ?? 暂无评论 ?? 被围观 657次 当手机电量有变化或者有充电情况的时候
android会自动的发送一个广播要监视充电情况只需截获这个广播就ok啦 废话不想说的太多查看了
android的源代码才发现原来是这样实现的。
1. / 2. 先声明一个 IntentFilter 对象 3. / 4. private IntentFilter mIntentFilter 5. public void onCreateBundle savedInstanceState 6. 7. super.onCreatesavedInstanceState 8. setContentViewR.layout.main 9. mIntentFilter new IntentFilter 10. mIntentFilter.addActionIntent.ACTION_BATTERY_CHANGED 11. 12. 13. protected void onResume 14. 15. super.onResume 16. // 注册消息处理器 17. registerReceivermIntentReceiver mIntentFilter 18. 19. 20. //声明消息处理过程 21. private BroadcastReceiver mIntentReceiver new BroadcastReceiver 22. Override 23. public void onReceiveContext context Intent intent 24. String action intent.getAction 25. //要看看是不是我们要处理的消息 26. if action.equalsIntent.ACTION_BATTERY_CHANGED 27. //电池电量数字 28. Log.dBattery intent.getIntExtralevel 0 29. //电池最大容量 30. Log.dBattery intent.getIntExtrascale 0 31. //电池伏数 32. Log.dBattery intent.getIntExtravoltage 0 33. //电池温度 34. Log.dBattery intent.getIntExtratemperature 0 35. 36. //电池状态返回是一个数字 37. // BatteryManager.BATTERY_STATUS_CHARGING 表示是充电状态 38. // BatteryManager.BATTERY_STATUS_DISCHARGING 放电中 39. // BatteryManager.BATTERY_STATUS_NOT_CHARGING 未充电 40. // BatteryManager.BATTERY_STATUS_FULL 电池满 41. Log.dBattery intent.getIntExtrastatus BatteryManager.BATTERY_STATUS_UNKNOWN 42. 43. //充电类型 BatteryManager.BATTERY_PLUGGED_AC 表示是充电器不是这个值表示是 USB 44. Log.dBattery intent.getIntExtraplugged 0 45. 46. //电池健康情况返回也是一个数字 47. //BatteryManager.BATTERY_HEALTH_GOOD 良好 48. //BatteryManager.BATTERY_HEALTH_OVERHEAT 过热 49. //BatteryManager.BATTERY_HEALTH_DEAD 没电 50. //BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE 过电压 51. //BatteryManager.BATTERY_HEALTH_UNSPECIFIED_FAILURE 未知错误 52. Log.dBattery intent.getIntExtrahealth BatteryManager.BATTERY_HEALTH_UNKNOWN 53. 54. 55. 在这里先只是看看手机充电情况的监视其实手机电量的监视也只需要截获一个广播。