0. demo 下载

https://github.com/sufadi/BatteryInfo

1. 电池广播获取充电状态

// 电池状态

import static android.os.BatteryManager.EXTRA_STATUS;

// 未知

import static android.os.BatteryManager.BATTERY_STATUS_UNKNOWN;

// 充电中

import static android.os.BatteryManager.BATTERY_STATUS_CHARGING;

// 放电中

import static android.os.BatteryManager.BATTERY_STATUS_DISCHARGING;

// 未充电

import static android.os.BatteryManager.BATTERY_STATUS_NOT_CHARGING;

// 电池满

import static android.os.BatteryManager.BATTERY_STATUS_FULL;

private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {

@Override

public void onReceive(Context context, Intent intent) {

if (null == intent) {

return;

}

String action = intent.getAction();

if (Intent.ACTION_BATTERY_CHANGED.equals(action)) {

int status = intent.getIntExtra(EXTRA_STATUS, BATTERY_STATUS_UNKNOWN);

...

private String getStatus(int status) {

String result = getString(R.string.battery_status_unknown);

switch (status) {

case BATTERY_STATUS_FULL:

result = getString(R.string.battery_status_full);// 充满电

break;

case BATTERY_STATUS_NOT_CHARGING:

result = getString(R.string.battery_status_not_charging); // 未充电

break;

case BATTERY_STATUS_DISCHARGING:

result = getString(R.string.battery_status_discharging);// 放电中

break;

case BATTERY_STATUS_CHARGING:

result = getString(R.string.battery_status_charging);// 充电中

break;

case BATTERY_STATUS_UNKNOWN:// 未知

break;

}

return result;

}

2. 充电器类型

// 充电器类型

import static android.os.BatteryManager.EXTRA_PLUGGED;

// 充电器

import static android.os.BatteryManager.BATTERY_PLUGGED_AC;

// 其他

import static android.os.BatteryManager.BATTERY_PLUGGED_ANY;

// USB

import static android.os.BatteryManager.BATTERY_PLUGGED_USB;

// 无线充电

import static android.os.BatteryManager.BATTERY_PLUGGED_WIRELESS;

private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {

@Override

public void onReceive(Context context, Intent intent) {

if (null == intent) {

return;

}

String action = intent.getAction();

if (Intent.ACTION_BATTERY_CHANGED.equals(action)) {

int plugged = intent.getIntExtra(EXTRA_PLUGGED, BATTERY_PLUGGED_ANY);

...

private String getPlugged(int plugged) {

String result = getString(R.string.battery_plugged_any);

switch (plugged) {

case BATTERY_PLUGGED_ANY:

// 其他

break;

case BATTERY_PLUGGED_AC:

// 充电器

result = getString(R.string.battery_plugged_ac);

break;

case BATTERY_PLUGGED_USB:

// USB

result = getString(R.string.battery_plugged_usb);

break;

case BATTERY_PLUGGED_WIRELESS:

// 无线充电

result = getString(R.string.battery_plugged_wireless);

break;

}

return result;

}

具体键值

// values of the "plugged" field in the ACTION_BATTERY_CHANGED intent.

// These must be powers of 2.

/** Power source is an AC charger. */

public static final int BATTERY_PLUGGED_AC = 1;

/** Power source is a USB port. */

public static final int BATTERY_PLUGGED_USB = 2;

/** Power source is wireless. */

public static final int BATTERY_PLUGGED_WIRELESS = 4;

/** @hide */

public static final int BATTERY_PLUGGED_ANY =

BATTERY_PLUGGED_AC | BATTERY_PLUGGED_USB | BATTERY_PLUGGED_WIRELESS;

3. 获取电池是否充电接口

package com.android.settings.fuelgauge;

import android.content.Context;

import android.content.Intent;

import android.content.IntentFilter;

import android.os.BatteryManager;

import android.util.Log;

public class InonePowerSaveUtil {

public static final boolean IS_CHARGE_DISABLE = true;

public static boolean isChargingDisable(Context context) {

return IS_CHARGE_DISABLE && isCharging(context);

}

public static boolean isCharging(Context context) {

Intent batteryBroadcast = context.registerReceiver(null,

new IntentFilter(Intent.ACTION_BATTERY_CHANGED));

// 0 means we are discharging, anything else means charging

boolean isCharging = batteryBroadcast.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1) != 0;

Log.d(InonePowerSaveUtil.class.getSimpleName(),"isCharging = " + isCharging );

return isCharging;

}

}

android充电状态广播,Android 获取电池是否充电状态、充电器类型相关推荐

  1. android充电状态广播,教学--监测电池的电量与充电状态

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 当你想通过改变后台更新操作的频率来减少对电池寿命的影响,那么首先需要检查当前电量与充电状态. 电池的电量与是否在充电状态会影响到一个程序去执行更新的操作. ...

  2. android 布局dock,Android电源管理专题之获取和监测Dock状态和类型

    Android电源管理专题之获取和监测Dock状态和类型 (2013-04-07 16:36:00) 标签: android 电源管理 dock it Android 设备可以接在不同类型的 Dock ...

  3. android获取电池是否充电,Android 判断电池是否为充电状态的方法

    1. 工具类方法 package com.android.settings.fuelgauge; import android.content.Context; import android.cont ...

  4. android获取电量的方法,在Android中获取电池电量和状态

    拉风的咖菲猫 这是一个代码示例,解释了如何获取电池信息.总结一下,ACTION_BATTERY_CHANGED意图的广播接收器是动态建立的,因为它不能通过清单中声明的组件接收,只能通过显式注册它Con ...

  5. android接收蓝牙广播,android – 如何使用广播接收器检测蓝牙状态更改?

    就权限而言,为了检测蓝牙的状态变化,您需要将其添加到您的AndroidManifest.xml中. 示例接收器将如下所示,您将此代码添加到要处理广播的位置,例如: private final Broa ...

  6. Android usb 权限广播,[Android]USB开发

    第一:请求权限和请求权限回调(通过广播回调) 注册一个广播接收器用于接收USB权限被同意或拒绝后发出的广播 //注册USB设备权限管理广播 IntentFilter filter = new Inte ...

  7. android wifi热点广播,Android WiFi热点开发的示例代码

    上次写了Android连接匿名WiFi的内容.WiFI开发对于应用层开发是比较小众的知识点,不过既然用到了就在此记录下. 创建热点 1.根据加密类型.密码.是否隐藏等参数来创建热点 static Wi ...

  8. android 蓝牙相关广播,Android 蓝牙相关的广播

    Android 蓝牙相关的广播 监听蓝牙相关的广播并获得相关的信息,蓝牙相关的广播主要集中在BluetoothAdapter和BluetoothDevice类中, 可以通过在AndroidManife ...

  9. android 接收闹钟广播,android 设置闹钟及通知示例

    简单说一下这次demo内容,首先做一个设置一次性闹钟,先得到alarmManager,打开一个时间对话框,在里面设置闹钟的时间,时间一到发送广播,然后广播接受者接到跳转到新的activity播放音乐. ...

最新文章

  1. 在网页中动态的生成一个gif图片
  2. svn working copy locked
  3. 洛谷 P3539 [POI2012]ROZ-Fibonacci Representation 解题报告
  4. JAVA线程池ScheduledExecutorService周期性地执行任务 与单个Thread周期性执行任务的异常处理...
  5. 计算机网络复习_物理层
  6. 小程序 input自动换行_直播 | 最实用的微信小程序自动化测试技术独家揭秘
  7. HTTP 协议 -- 浏览器缓存机制
  8. Linux APT VIM 的一些指令
  9. 地震勘探专业词汇(3)地震波动力学
  10. window 2008 搭建的DHCP服务器
  11. 2018--Linux面试题
  12. C++实现离散数学之真值表(试着自写头文件)
  13. visio流程图怎么合并线_6步轻松做Visio跨职能流程图
  14. 一张图看懂企业经营,企业战略的本质,企业数字化转型 Road Map, 企业大脑的本质...
  15. SAS首席科学家:如何选择机器学习算法?
  16. Linux—常用十大命令
  17. Windows系统深度学习Anaconda、PyTorch软件安装教程
  18. 如何创建 Ping app 中的 UIViewController 转换动画?
  19. sql中完全依赖,部分依赖,传递依赖关系
  20. python描述回文素数_回文素数-随心随性无为而为-51CTO博客

热门文章

  1. matlab心碎的心,心死心碎的句子
  2. isd1802_ISD的完整形式是什么?
  3. NCBI/BIG测序数据下载---通过Aspera下载拟南芥T2T原始数据
  4. 前端基础-什么是前端
  5. 天猫店群还能做多久?天猫店群不为人知的秘密,揭秘月入十万的传言!
  6. dnf体验服显示服务器爆满,dnf100级上线体验服 服务器爆满临时加频道
  7. D25-蓝桥-贪心代码实现
  8. 游戏服务器被攻击怎么办?103.88.35.1
  9. 根据标注精灵助手标好并导出的json文件生成txt文件(一)
  10. 【pytorch笔记】(五)自定义损失函数、学习率衰减、模型微调