我正在开发一个Android应用程序,我希望用户能够访问数据目录。我知道你可以这样做,Runtime.getRuntime().exec("su");
,但我试过了,它会打开一个屏幕,询问你是否想获得许可,但它不允许我在单词后检索目录。这是代码:
try {
Runtime.getRuntime().exec("su");
final File dataFile = Environment.getDataDirectory();
FileAdapter adapter = new FileAdapter(getActivity());
adapter.setFiles(dataFile.listFiles());
setListAdapter(adapter);
setListShown(true);
} catch (IOException e) {
Toast.makeText(getActivity(),"Sorry, Root access was denied",Toast.LENGTH_LONG).show();
}
答案 0 :(得分:1)
Runtime.exec()文档说Executes the specified program in a separate native process.
这意味着,它是获取root访问权限的新进程。我认为你必须使用Process
返回的exec()
对象并打开输出流并执行完成工作的其余命令。您可以参考Root Tools源代码了解有关如何执行此操作的详细信息。