In an android terminal emulator I can type the following commands:
> su
> echo $(</sys/class/power_supply/battery/charge_rate)
and depending on how the phone is charging the output will be "None", "Normal" or "Turbo". I would like to be able to retrieve this output and store it as a string value in my program.
So I've done a little bit of research into this and the code I came up with is as follows:
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
}
This is taken from a number of different answers and I'm not quite sure whats wrong with it. I can't step over or past this line while debugging:
if ((chargeRate = stdInput.readLine()) == null)
As soon as the debugger reaches this line it says "The application is running"