在Android中,有没有办法获取电池电流? [复制]

2024-02-08

BatteryManager 类没有电流指标:http://developer.android.com/reference/android/os/BatteryManager.html http://developer.android.com/reference/android/os/BatteryManager.html

然后我发现了这个帖子:获取 Android 手机的电池电流值 https://stackoverflow.com/questions/2439619/getting-the-battery-current-values-for-the-android-phone看来作者也发现从Linux入门中不可能得到这样的价值。

我还将名为 CurrentWidget 的小部件下载到我的 Nexus 7 中。对于当前值,它显示“无数据”。

因此,可能需要电流传感器来获取当前值,而某些 Android 系统只是没有这样的传感器。那么android系统如何知道当前的电池电量呢?也许它只是用电池的电压来推断(放电过程中电压会下降)?但这样的话粒度就会非常粗。有人说 Android 中有一些“技巧”可以在没有当前值的情况下估计电池电量(可能基于电压?)。有什么参考吗?

PS:由于某种原因,我知道iphone 3GS上可以记录当前值


试试这个代码,也许它会对你有帮助:

private BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver(){
      @Override
      public void onReceive(Context arg0, Intent intent) {
        // TODO Auto-generated method stub
          //this will give you battery current status
        int level = intent.getIntExtra("level", 0);

        contentTxt.setText(String.valueOf(level) + "%");

        int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
        textView2.setText("status:"+status);
        boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
                            status == BatteryManager.BATTERY_STATUS_FULL;
        textView3.setText("is Charging:"+isCharging);
        int chargePlug = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
        textView4.setText("is Charge plug:"+chargePlug);
        boolean usbCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_USB;

        boolean acCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_AC;
        textView5.setText("USB Charging:"+usbCharge+" AC charging:"+acCharge);

      }
    };

在主类中使用以下方法注册:

 this.registerReceiver(this.mBatInfoReceiver, 
          new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Android中,有没有办法获取电池电流? [复制] 的相关文章

随机推荐

  • 为什么将框架文件夹放在公共根目录之外更安全?

    为什么总是建议将框架文件放置在公共根目录之外 鉴于有时框架没有 ini or inc可以用浏览器打开的文件 好吧 肯定没什么可做的gained将框架源放置在 Web 根目录中 由于可以自由选择放置文件的位置 因此使用最小特权原则 http
  • 如何在 PhantomJS 中转到下一页进行抓取

    我正在尝试从具有多个页面的网站中获取多个元素 我目前正在使用 PhantomJS 来完成这项工作 我的代码几乎可以工作 但问题是我的代码在第一页上刮了两次 即使 根据日志 似乎我已经移到了第二页 这是代码 var page require
  • 获取jstree的已检查节点ID列表[重复]

    这个问题在这里已经有答案了 我是新来的jstree and jQuery并且在我的测试树中进行节点检查时遇到了一些问题 用户首先应勾选自己需要的节点 然后点击 概括 按钮以获取警报窗口中已检查节点的 ID 列表 我还想导出 ID 列表以供进
  • VB.NET 中的 WScript?

    这是我的程序中的一段代码 WSHShell WScript CreateObject WScript Shell 但由于某种原因 WScript 没有声明 我知道这段代码可以在 VBScript 中运行 但我正在尝试让它在 vb net 中
  • Python 中的机器 Epsilon

    我目前正在学习的一本手册 我是新手 说 相差小于机器 epsilon 的数字在数值上是相同的 使用 Python 可以通过键入获得浮点值的机器 epsilon eps numpy finfo float eps 现在 如果我检查 1 eps
  • 连接时 , 和 + 有什么区别?

    过去几个月我一直在用 c 编码 但每次连接时我总是对逗号之间的区别感到困惑 和加号 有时 适用于连接 其他时候 用来 我真的不明白其中的区别 请帮帮我 这是代码 class Faculty string firstName lastName
  • Eclipse 上的 Golang:Mac 上“资源没有相应的 Go 包”

    如标题所述 我在 Eclipse 上运行 Golang 代码时遇到问题 我目前使用的是Mac 我使用homebrew安装了go 目前 go安装的文件夹如下 usr local Cellar go 1 5 2 运行终端并输入后open bas
  • 如何刷新页面并保持元素不刷新(持久)直到用户单击提交?

    我正在寻找一种 jQuery 方法来在刷新页面时将页面元素保留在用户屏幕上 当我刷新页面并且丢失 jQuery 页面中的内容时 它会发生变化 我需要该页面是持久的 如何刷新页面并保持元素不刷新 持久 直到用户单击提交按钮 如何才能做到这一点
  • 在 android 中,相机“camera.setParameters”失败

    at android hardware Camera native setParameters Native Method at android hardware Camera setParameters Camera java 647 a
  • Microsoft VBScript 运行时错误:输入超过文件结尾错误

    我收到此错误 C se2 vbs 28 6 Microsoft VBScript 运行时错误 输入超出文件结尾 当我运行脚本时 第 28 行斜体 Dim strInput Dim filesys Dim path Set filesys C
  • Flutter Web:如何在 Flutter Web 应用程序中禁用浏览器的后退按钮

    成功登录后 用户重定向到主页 但当用户单击浏览器后退按钮时 它很容易重定向到登录屏幕 我应该怎么做才能禁用向后重定向 class SecondPage extends StatelessWidget override Widget buil
  • HTTP_ORIGIN 的安全性如何?

    我想查明来自第三方网站的传入 HTTP REQUEST 调用是否来自我定义的域列表 我知道可以使用HTTP REFERER来查找第三方域在哪里 但它不够安全 人们可以欺骗它或使用 Telnet 来伪造它 那么 HTTP ORIGIN 怎么样
  • 在互联网上哪里可以找到直方图差异算法?

    我在哪里可以找到互联网上的直方图差异算法 我想比较两个文本并找出差异 目前我正在尝试耐心差异算法 但这并不那么有效 我听说直方图差异算法是耐心差异的改进版本 The git软件实现了耐心和直方图差异算法 也可以看看 git diff pat
  • python OpenCv IMREAD_UNCHANGED 只返回三个通道

    我试图找出我的代码有什么问题 我想加载包含 Alpha 通道的图像 官方网站的描述如下 cv IMREAD UNCHANGED 如果设置 则按原样返回加载的图像 带有 Alpha 通道 否则会被裁剪 这是我的尝试 import cv2 as
  • 如何从气流传感器中提取 xcom 值?

    主要问题 我正在尝试创建一个 BigQuery 表 如果不存在 方法 使用 BigQueryTableSensor 检查表是否存在 并根据返回值 使用 BigQueryCreateEmptyTableOperator 创建或不创建新表 Pr
  • 如何在 Windows 和 MAC 上使用 Python 检测进程是否正在运行

    我正在尝试找到一种方法来使用 Python 检测进程是否在 Windows 操作系统的 Windows 任务管理器和 MAC 操作系统的 Macintosh 活动监视器中运行 有人可以帮我解决一下代码吗 psutil https githu
  • 在 TomEE+ 上使用 JAX-RS 时出现“无资源方法”

    使用 Stock TomEE 我无法让简单的 JAX RS 资源工作 我不断收到以下错误 Jun 30 2012 5 09 59 PM org apache cxf jaxrs utils ResourceUtils checkMethod
  • 如何绕过Firebase缓存刷新数据(在Android应用程序中)?

    在大多数时间必须离线工作的 Android 应用程序上 当它在线时 我需要执行一些同步操作 即 User myUser MyclientFacade getUser If myUser getScore gt 10 DoSomething
  • 无法复制/移动文件名末尾带有空格的文件

    真是太疯狂了 我已经使用 Far 2 0 创建了一个文件 http www farmanager com http www farmanager com 也许您可 以使用其他文件管理器 它的文件名是 C 123 txt 是的 文件路径末尾有
  • 在Android中,有没有办法获取电池电流? [复制]

    这个问题在这里已经有答案了 BatteryManager 类没有电流指标 http developer android com reference android os BatteryManager html http developer