Android 如何获得瞬时电池电量?(安卓)

Android 如何获得瞬时电池电量?(安卓),android,battery,batterylevel,Android,Battery,Batterylevel,我试图在我的应用程序中准确地采样电池电量,但我真的很挣扎。目前我有: String s = String.valueOf(BATTERY_PROPERTY_CURRENT_NOW); batteryShow.setText(s); 但在不同的设备和不同的电源上只返回2。 理想情况下,我会得到马赫谷,但任何建议都会进行下去 注 我看过 没有太多的乐趣。电池属性\u电流\u现在是一个常数,一个帮助您获得真实值的键 final BatteryManager bm = (BatteryManager

我试图在我的应用程序中准确地采样电池电量,但我真的很挣扎。目前我有:

String s = String.valueOf(BATTERY_PROPERTY_CURRENT_NOW);
batteryShow.setText(s);
但在不同的设备和不同的电源上只返回2。 理想情况下,我会得到马赫谷,但任何建议都会进行下去

注 我看过


没有太多的乐趣。

电池属性\u电流\u现在是一个常数,一个帮助您获得真实值的键

final BatteryManager bm = (BatteryManager) context.getSystemService(Context.BATTERY_SERVICE);
final int current = bm.getIntProperty(BatteryManager.BATTERY_PROPERTY_CURRENT_NOW);
阅读更多:


您需要使用广播接收器,以便可以接收电池电量相关:
电池属性\u电流\u现在
是一个常量,是获取实际值的键。你是如何根据那篇文章得出
String.valueOf
的?这在三星s7上给出了-397,占32%,因此不确定从哪里开始-397表示电池放电电流为397 mA,如链接文档中所述。某些值作为属性公开。有些值是通过粘性意图公开的,已经很好地描述了它。至少试着阅读那些该死的文档,寻找你要找的房产。是吗?不,我想是电池、财产、充电、计数器,对不起,我是新手。我尝试将新属性放入代码中,但得到的值仅为0。我想知道我的三星是否不是支持此功能的设备之一?“以微安时为单位的电池容量,作为整数。”这是微安时。将其乘以1000得到毫安小时。无论如何,如果它为零,则看起来不受支持。搜索“android三星电池容量编程”或同等工具,也许还有另一种方法。避免使用诸如“级别”之类的通用术语,看看我们花了多长时间才到达这里。我在支持它的Nexus6上运行过它,但仍然得到0,所以代码一定有错误。我已经搜索了很多次,但似乎没有人找到解决方案,这就是为什么我决定问我自己的问题。