我正在尝试在特定代码后更换电池。我正在使用以下代码,但不幸的是没有运气。我得到零任何想法请
在上创建一个:
batteryIntent = registerReceiver(null,new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
private double batteryLevel() {
int rawlevel = batteryIntent.getIntExtra("level", -1);
double scale = batteryIntent.getIntExtra("scale", -1);
double level = -1;
if (rawlevel >= 0 && scale > 0) {
level = rawlevel / scale;
}
return level;
}
在 onClick 上:
double startbatterylevel = batteryLevel();
//certain code
double estimatedbattery = startbatterylevel - endbatterylevel ;
Estbatterylevel.setText("estimated battery"+estimatedbattery);
最佳答案
如您所写,我们不知道问题是出在电池电量检测方法上还是出在减法上。 batteryLevel();
方法的输出是什么?它是准确的还是始终是默认值?
您可以尝试修改此页面上的示例:http://mobiledevtuts.com/android/android-sdk-get-device-battery-information/
public void onCreate(Bundle savedInstanceState) {
...
this.registerReceiver(this.batteryInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
...
}
private BroadcastReceiver batteryInfoReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);
Estbatterylevel.setText("estimated battery" + level);
}
};
如果还是显示0,可能是兼容性问题。你能提供你的设备规范和安卓版本吗?
关于java - 在特定代码后获取 Android 上的电池电量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13622620/