Для целей мониторинга использования батареи и т. Д. У меня есть код, который выполняет несколько вызовов dumpsys, считывает и анализирует выходные данные для извлечения данных, которые меня интересуют.
dumpsys battery , dumpsys statusbar и dumpsys power все выдают мне сообщение об ошибке для вывода типа «Отказ в разрешении: невозможно сбросить обслуживание батареи из pid ...» Кроме того, когда приложениезапущен, есть элемент в журнале с тегом "PackageManager", который заявляет, что не дает разрешения android.permissionDUMP для пакета .... (protectionLevel = 3 ...) "
Однако dumpsys cpuinfo и dumpsys netstat работают и дают мне правильный вывод, который кажется несовместимым.
Я могу сгенерировать dumpsys battery и т.п. из оболочки adb,но когда я пытаюсь вызвать его программно, он не работает.
Я попытался запустить его на телефоне HTC Nexus One, а также на эмуляторе и получить одинаковые результаты для каждого. TСтранно то, что этот код работал на моем Nexus One день назад (до того, как я обновился с 2.2 до 2.3), а теперь - нет.Это из-за обновления?
Пример кода, который я пытаюсь запустить, выглядит следующим образом:
String command = "dumpsys battery";
try {
String s = null;
Process process = Runtime.getRuntime().exec(command);
BufferedReader stdInput = new BufferedReader(new
InputStreamReader(process.getInputStream()));
BufferedReader stdError = new BufferedReader(new
InputStreamReader(process.getErrorStream()));
// read the output from the command
System.out.println("Here is the standard output of the command:\n");
while ((s = stdInput.readLine()) != null) {
System.out.println(s);
}
// read any errors from the attempted command
System.out.println("Here is the standard error of the command (if any):\n");
while ((s = stdError.readLine()) != null) {
System.out.println(s);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Как получить dumpsys , чтобы датьмне правильный вывод программно и как мне получить разрешение dump , которое будет предоставлено?
* Nexus One не имеет рута, и я хотел бы, чтобы это работало без необходимости рутировать его дляЦели моего проекта
Спасибо за помощь