【发布时间】:2020-04-26 02:04:13
【问题描述】:
在安卓终端模拟器中,我可以输入以下命令:
> su
> echo $(</sys/class/power_supply/battery/charge_rate)
根据手机的充电方式,输出将是“无”、“正常”或“加速”。我希望能够检索此输出并将其作为字符串值存储在我的程序中。
所以我对此做了一些研究,我想出的代码如下:
String chargeRate = "None";
try {
Runtime rt = Runtime.getRuntime();
Process process = rt.exec("su \"\"echo $(</sys/class/power_supply/battery/charge_rate)");
BufferedReader stdInput = new BufferedReader(new InputStreamReader(process.getInputStream()));
if ((chargeRate = stdInput.readLine()) == null)
chargeRate = "None";
}
catch (Exception e) {
// TODO
}
这是从许多不同的答案中得出的,我不太确定它有什么问题。调试时我不能越过或越过这条线:
if ((chargeRate = stdInput.readLine()) == null)
一旦调试器到达这一行,它就会显示“应用程序正在运行”
【问题讨论】:
-
更新答案...