Eliminar otra aplicación y borrar los datos

Estoy trabajando en una herramienta que mata la aplicación seleccionada y borra todos sus datos. La clase de simular esto tiene solamente nombre del paquete disponible.

2 Solutions collect form web for “Eliminar otra aplicación y borrar los datos”

No estoy seguro de si funcionaría o no, pero lo que puede hacer es obtener el ID de proceso de la aplicación con el nombre del paquete que tiene y luego llamar killProcess() método killProcess() con ID de proceso como parámetro.

EDIT1: – ok .. olvidar lo que está escrito arriba .. He intentado el siguiente código y parece que funciona para mí.

 ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); activityManager.killBackgroundProcesses(appProcessName); 

Es necesario especificar el permiso android.permission.KILL_BACKGROUND_PROCESSES en el manifiesto de la aplicación y usted es de oro.

EDIT2: – el siguiente fragmento de código borra los datos de la aplicación. Pero hay un problema que no puede limpiar los datos de otra aplicación porque cada aplicación de Android se ejecuta en un Sandbox, que protege sus datos de ser accedido desde fuera de su ámbito de aplicación.

 public void clearApplicationData(String packageName) { File cache = getCacheDir(); File appDir1 = new File(cache.getParent()).getParentFile(); File appDir = new File(appDir1.getAbsolutePath() + "/" + packageName); if (appDir.exists()) { String[] children = appDir.list(); for (String s : children) { if (!s.equals("lib")) { deleteDir(new File(appDir, s)); Toast.makeText(this, "App Data Deleted", Toast.LENGTH_LONG) .show(); } } } } public static boolean deleteDir(File dir) { if (dir != null && dir.isDirectory()) { String[] children = dir.list(); for (int i = 0; i < children.length; i++) { boolean success = deleteDir(new File(dir, children[i])); if (!success) { return false; } } } return dir.delete(); } 

Puede ser posible cambiar el permiso de los archivos utilizando la clase Process y ejecutando el comando chmod través de él, pero de nuevo tendrá que ejecutar como shell para ese paquete que requiere que la aplicación se defina como debuggable en el archivo de Android-Manifest .

Así que la línea de fondo es su difícil, si no imposible, para borrar los datos de otras aplicaciones.

Esto parece muy imposible, en mi opinión. Android no le permite matar (o borrar datos) de otra aplicación.

Este enlace especifica un método killBackgroundProcess (String), sin embargo el kernel no lo mataría a menos que sea su propio nombre de paquete.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.