700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > android 获取电量百分比 简书 Android 获取当前电量

android 获取电量百分比 简书 Android 获取当前电量

时间:2021-09-20 01:57:00

相关推荐

android 获取电量百分比 简书 Android 获取当前电量

在浏览 Flutter 的示例代码中发现一一个比较好的写法。

private int getBatteryLevel() {

if (VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) {

BatteryManager batteryManager = (BatteryManager) getSystemService(BATTERY_SERVICE);

return batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY);

} else {

Intent intent = new ContextWrapper(getApplicationContext()).

registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));

return (intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1) * 100) /

intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);

}

}

对于 Android 5.x 及以上的版本 可以通过 getIntProperty 来读取。

/**

* Remaining battery capacity as an integer percentage of total capacity

* (with no fractional part).

*/

public static final int BATTERY_PROPERTY_CAPACITY = 4;

当然这只是读取百分比的 Key。根据文档还有读取其他数据的 Key。

对于 5.x 之前的版本。主要是由于 ACTION_BATTERY_CHANGED 广播是 Stricky 广播的特性可以直接返回前一次电量变化广播的数据这一特点。因此此时 receiver 便可以为 null。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。