autojs获取电池温度

简介: autojs获取电池温度
importClass(android.content.Intent);
importClass(android.content.IntentFilter);
importClass(android.os.BatteryManager);
let BatteryN; //目前电量
let BatteryV; //电池电压
let BatteryT; //电池温度
let BatteryStatus; //电池状态
let BatteryTemp; //电池使用情况
let mBatInfoReceiver = new JavaAdapter(android.content.BroadcastReceiver, {
  onReceive: function (context, intent) {
    log(intent);
    let action = intent.getAction();
    /*
     * 如果捕捉到的action是ACTION_BATTERY_CHANGED, 就运行onBatteryInfoReceiver()
     */
    if (Intent.ACTION_BATTERY_CHANGED.equals(action)) {
      BatteryN = intent.getIntExtra("level", 0); //目前电量
      BatteryV = intent.getIntExtra("voltage", 0); //电池电压
      BatteryT = intent.getIntExtra("temperature", 0); //电池温度
      switch (intent.getIntExtra("status", BatteryManager.BATTERY_STATUS_UNKNOWN)) {
        case BatteryManager.BATTERY_STATUS_CHARGING:
          BatteryStatus = "充电状态";
          break;
        case BatteryManager.BATTERY_STATUS_DISCHARGING:
          BatteryStatus = "放电状态";
          break;
        case BatteryManager.BATTERY_STATUS_NOT_CHARGING:
          BatteryStatus = "未充电";
          break;
        case BatteryManager.BATTERY_STATUS_FULL:
          BatteryStatus = "充满电";
          break;
        case BatteryManager.BATTERY_STATUS_UNKNOWN:
          BatteryStatus = "未知道状态";
          break;
      }
      switch (intent.getIntExtra("health", BatteryManager.BATTERY_HEALTH_UNKNOWN)) {
        case BatteryManager.BATTERY_HEALTH_UNKNOWN:
          BatteryTemp = "未知错误";
          break;
        case BatteryManager.BATTERY_HEALTH_GOOD:
          BatteryTemp = "状态良好";
          break;
        case BatteryManager.BATTERY_HEALTH_DEAD:
          BatteryTemp = "电池没有电";
          break;
        case BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE:
          BatteryTemp = "电池电压过高";
          break;
        case BatteryManager.BATTERY_HEALTH_OVERHEAT:
          BatteryTemp = "电池过热";
          break;
      }
      log(
        "目前电量为" +
          BatteryN +
          "% --- " +
          BatteryStatus +
          "\n" +
          "电压为" +
          BatteryV +
          "mV --- " +
          BatteryTemp +
          "\n" +
          "温度为" +
          BatteryT * 0.1 +
          "℃"
      );
    }
  },
});
// 注册一个系统 BroadcastReceiver,作为访问电池计量之用这个不能直接在AndroidManifest.xml中注册
let filter = new IntentFilter();
filter.addAction(Intent.ACTION_BATTERY_CHANGED);
context.registerReceiver(mBatInfoReceiver, filter);
events.on("exit", function () {
  unregisterReceiver();
});
function unregisterReceiver() {
  context.unregisterReceiver(mBatInfoReceiver);
  toastLog("关闭广播监听");
}
setInterval(function () {}, 1000);


参考文章

AndroidCpuTools

https://blog.csdn.net/su749520/article/details/79179668

声明

部分内容来自网络

本教程仅用于学习, 禁止用于其他用途

目录
打赏
0
0
0
0
41
分享
相关文章
毕业设计 基于51单片机霍尔电机转速测量温度PWM调速设计
毕业设计 基于51单片机霍尔电机转速测量温度PWM调速设计
116 0
|
3月前
|
基于Arduino的植物浇水系统
基于Arduino的植物浇水系统
67 0
|
6月前
|
便携耳放的电池寿命是多久?
【7月更文挑战第11天】便携耳放的电池寿命是多久?
100 3
|
8月前
|
示例四、 开关式霍尔传感器测转速
示例四、 开关式霍尔传感器测转速
268 0
示例四、 开关式霍尔传感器测转速
【单片机期中测试】6.简单PWM呼吸灯
【单片机期中测试】6.简单PWM呼吸灯
85 0
单片机数码管显示热敏电阻实测温度,
单片机数码管显示热敏电阻实测温度,
117 0
基于51单片机的室内湿度加湿温度声光报警智能自动控制装置设计
在日常生活中加湿器得到了广泛的应用,但是现有的加湿器都需要手工控制开启和关闭并且不具备对室内空气温湿度的监测,人们在使用过程中存在过度加湿和干烧的问题,不仅给室内空气舒适度造成负面影响并且还存在安全隐患。因此开发设计一种价格低廉、功耗低、具有自动控制功能的加湿器显得尤为必要。本设计采用智能控制,以AT89C51单片机为核心,外接辅助电路,通过实现加湿器的防干烧、声光报警、智能开启和关闭以及室内温湿度的显示功能基本实现加湿器的智能化。
243 0
单片机温湿度测量程序编程
单片机温湿度测量程序编程
106 0
手持振弦读数仪工程现场如何快速测量
便携式手持设备面板的设计与其他工业设备的主要区别在于具有便携性和可操作性。通过人机进行操作能够对手握区域、外部接口区域、显示和操作区域进行接触,同时,手持检测设备的外观设计还要能够与人体结构相契合,达到手持的舒适度等。如手持振弦VH501TC,在工程监测振弦传感器时就很方便快捷,连接上传感器,立即读取到数据,每个测点检测时就能快速及时处理。
手持振弦读数仪工程现场如何快速测量

热门文章

最新文章