Android Runtime.exec()不工作
我正在尝试从Android设备获取无线电日志。我发现这个片段是用来阅读广播日志的。但是,控件从未进入while循环 如果我们将命令替换为adb logcat-d作为exec的参数,那么代码运行良好 我认为控件被困在line=bufferedReader.readLine语句中 编辑: 基本上,我想阅读屏幕上显示的通知。例如:我们在通话或发送短信后看到的显示剩余余额的通知 通知实际上打印在Android日志中,因此我正在阅读日志并从中提取消息。是否有其他方法存储屏幕上显示的所有通知Android Runtime.exec()不工作,android,android-logcat,Android,Android Logcat,我正在尝试从Android设备获取无线电日志。我发现这个片段是用来阅读广播日志的。但是,控件从未进入while循环 如果我们将命令替换为adb logcat-d作为exec的参数,那么代码运行良好 我认为控件被困在line=bufferedReader.readLine语句中 编辑: 基本上,我想阅读屏幕上显示的通知。例如:我们在通话或发送短信后看到的显示剩余余额的通知 通知实际上打印在Android日志中,因此我正在阅读日志并从中提取消息。是否有其他方法存储屏幕上显示的所有通知 请在这方面帮助
请在这方面帮助我。如果您在设备上运行此代码,请尝试替换
Process process = Runtime.getRuntime().exec("adb logcat -b radio");
与
否则,请尝试在linux上用替换它
Process process = Runtime.getRuntime().exec("/bin/sh" + "-c" + "adb logcat -b radio");
或者在窗户上
Process process = Runtime.getRuntime().exec("C:\\Windows\\System32\\cmd.exe" + "-c" + "adb logcat -b radio");
您是否尝试过将该行替换为:::Process Process=Runtime.getRuntime.execC:\\Windows\\System32\\cmd.exe+-c+adb logcat-b radio;增加了空间,但没有用……不起作用
Process process = Runtime.getRuntime().exec("/bin/sh" + "-c" + "adb logcat -b radio");
Process process = Runtime.getRuntime().exec("C:\\Windows\\System32\\cmd.exe" + "-c" + "adb logcat -b radio");