android中计算电池电量的两种方法的区别是什么?
在我的应用程序中,我显示电池电量。。我通过以下方式获得电池电量:android中计算电池电量的两种方法的区别是什么?,android,batterylevel,Android,Batterylevel,在我的应用程序中,我显示电池电量。。我通过以下方式获得电池电量: int level = battery.getIntExtra(BatteryManager.EXTRA_LEVEL, -1); 没关系,我可以看到百分比。。但在网上我发现了另一种方法: int level = battery.getIntExtra(BatteryManager.EXTRA_LEVEL, -1); int scale = battery.getIntExtra(BatteryManager.EXTRA_SCAL
int level = battery.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
没关系,我可以看到百分比。。但在网上我发现了另一种方法:
int level = battery.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
int scale = battery.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
float batteryPct = level / (float)scale;
有什么区别?为什么我要用刻度来划分等级?谢谢根据,刻度是最大值:
公共静态最终字符串额外刻度
在API级别5中添加了额外的操作\u电池\u更改:整数
包含最大电池电量
常量值:“刻度”
目前的水平是:
公共静态最终字符串额外_级别
在API级别5中添加了额外的操作\u电池\u更改:整数字段
包含当前电池电量,从0到额外刻度
常量值:“级别”
所以基本上,第一个给你一个绝对数,第二个给你一个百分比。好吧,你会得到不同的数字:)
刻度是包含最大电池电量的
整数。
因此,使用第二种方法可以得到剩余的百分比(因此称为batterypt
)。第一次你得到的是你的电池电量的绝对值。它被定义为包含当前电池电量的整数字段,从0到额外刻度。
在android源代码中,刻度被硬编码为100,因此基本相同,除非一些制造商选择将刻度更改为其他刻度。()