2013-07-17 2 views
0

Я работаю над Android-приложением, и я хочу, чтобы пользователь мог получить доступ к каталогу данных. Я знаю, что вы можете сделать, Runtime.getRuntime().exec("su");, но я попробовал это, и он открывает экран, который спрашивает, хотите ли вы получить разрешение, но это не позволяет мне получить каталог после слов. Вот код:Как получить Root Access для Android-приложения?

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

Ваш мобильный корневой? – Blackbelt

+0

Да. Я получаю экран, который уведомляет меня о том, что мое приложение требует разрешения root. и при нажатии «да» он просто возвращается к моему приложению, и ничего не происходит. – user2351234

+0

У меня есть часть в моем приложении, которая позволяет просматривать папки, и я хочу разрешить пользователям смотреть на каталог. – user2351234

ответ

1

Runtime.exec() В Документации говорит Executes the specified program in a separate native process. Это означает, что его новый процесс, который получает доступ к корневому. Я думаю, вам нужно использовать объект Process, который возвращается exec(), и открыть выходной поток и выполнить остальные команды, выполняющие ваше задание. Вы можете обратиться к исходному коду Root Tools для получения дополнительной информации о том, как это сделать.

Смежные вопросы