2013-06-08 4 views
0

Я предоставил разрешение суперпользователя на корневом телефоне, однако, если я увольняю тогда намерение удалить нужное приложение, оно все еще работает только для приложений, которые не входят в систему, но для системных приложений генерируется сообщение о том, что приложение не была удалена должным образом. Как его достичь?андроид удалить приложение не работает

     Process process; 
         process = Runtime.getRuntime().exec("su"); 


         DataOutputStream os = new DataOutputStream(process.getOutputStream()); 
         os.writeBytes("mount -o remount rw /system/\n"); 
         os.flush(); 

         Intent uninstallIntent = new Intent(Intent.ACTION_PACKAGE_REMOVED); //ACTION_DELETE 
         uninstallIntent.setData(Uri.parse("package:" + llistaApps.get(idApp))); 
         uninstallIntent.setAction(Intent.ACTION_VIEW); 
         uninstallIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
         getApplicationContext().startActivity(uninstallIntent); 

ответ

4

1) разрешение суперпользователя ничего не делает само приложение, оно только позволяет ему запускать нативные хелперов исполняемых файлов в корневом каталоге

2) он не позволяет никаким андроид разрешения, так как это понятие, которое функционирует на Linux, а не уровень Android, а также потому, что он не относится к самому приложению.

3) у этого вопроса есть многочисленные дубликаты

+0

ну и как получить разрешение на стирание системного приложения? – Jaume

+0

Попробуйте установить как системное приложение (это другой вопрос с дубликатами) или быть сырым и использовать 'rm' под' su', который также имеет много дубликатов. И это не то, что кто-то неопытный должен пытаться. –