0

私は 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();
            }
4

1 に答える 1

2

Runtime.exec()のドキュメントにはExecutes the specified program in a separate native process.、ルートアクセスを取得する新しいプロセスであることを意味します。Processによって返されたオブジェクトを使用してexec()出力ストリームを開き、残りのコマンドを実行して仕事を完了する必要があると思います。その方法の詳細については、ルート ツールのソース コードを参照してください。

于 2013-07-17T07:20:39.347 に答える