J'ai un appareil Android enraciné. À un moment donné, je lance une application secondaire de mon application principale comme ceci:Android - Kill App à partir d'une autre application (sur un appareil rooté)
Intent intent = getPackageManager().getLaunchIntentForPackage("com.app.package");
startActivityForResult(intent, 100);
Je veux être en mesure de tuer cette application secondaire dès la première application. Je suis en train de la procédure générale suivante:
// At an earlier point in time...
Runtime.getRuntime().exec("su");
// The user grants permission
// ...
// At a later point in time...
Runtime.getRuntime().exec("su am force-stop com.app.package");
Malheureusement, cela ne tue pas l'application, sans indication quant à la raison pour laquelle de logcat. Si j'essaie d'exécuter la commande de destruction en tant que "suis force-stop com.app.package" au lieu de "je suis force-stop com.app.package", logcat dit que je n'ai pas la permission, même même si j'ai obtenu l'autorisation du superutilisateur d'exécuter "su" plus tôt.