私が取り組んでいる Android アプリケーションには、ルートが必要です。root を使用して内部メモリの一部にアクセスし、次にls
ディレクトリを呼び出します。次に、データがある場合はうまく機能しますが、ディレクトリが空の場合、アプリケーションはハングします。これを回避する良い方法はありますか?
これがコードです
final Runtime runtime = Runtime.getRuntime();
try {
// Perform su to get root privileges
Process p = runtime.exec("su");
DataOutputStream output = new DataOutputStream(p.getOutputStream());
output.writeBytes("ls " + directoryPath + "\n");
output.flush();
InputStream stdout = p.getInputStream();
byte[] buffer = new byte[1024];
int read;
String out = new String();
while(true){
//If ls found no files it hangs on this line
read = stdout.read(buffer);
out += new String(buffer, 0, read);
if(read < 1024){
break;
}
}
}