Forcer la fermeture d'une application par programmation

J'ai besoin de faire une application qui peut par programme faire ce que l' forcer l'arrêt bouton d'applications. (Je suis en utilisant racine autorisations)

Forcer la fermeture d'une application par programmation

J'ai essayé ce code:

private void killApp(){
    try {
        int pid = getPid(com.XXX);
        if(pid != -1){
            String command = "kill "+pid;
            Log.i("Got PID",pid + "");
            try {
                Process suProcess = Runtime.getRuntime().exec("su");
                DataOutputStream os = new DataOutputStream(suProcess.getOutputStream());

                os.writeBytes(command + "\n");
                os.flush();

                Log.i("Executed","Kill " + pid);
            } catch (IOException e) {
                // Handle error
            }   
        } else {
            Log.i("Not Found","App Not Found");
        }
    } catch (Exception e) {
        e.printStackTrace();  // Device not rooted! 
    }
}

private int getPid(String packageName){
    ActivityManager am = (ActivityManager)getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE);
    List<ActivityManager.RunningAppProcessInfo> pids = am.getRunningAppProcesses();
    int processid = 0;
    for(int i = 0; i < pids.size(); i++) {
        ActivityManager.RunningAppProcessInfo info = pids.get(i);

        Log.i("PID",pids.get(i) + "");
        Log.i("PID Package",info.processName);

        if(info.processName.equalsIgnoreCase(packageName)){
            processid = info.pid;
            return processid;
        } 
    }
    return -1;
}

Mais le problème est que le processus n'est pas trouvé, même si le bouton forcer l'arrêt n'est pas grisé.

Même À L'Aide De:

                         Process suProcess = Runtime.getRuntime().exec("su");
                        DataOutputStream os = new DataOutputStream(suProcess.getOutputStream());


                        os.writeBytes("kill "+ APP_PID + "\n");

                        os.flush();

Ne pas faire ce que la force de bouton d'arrêt n'car après j'exécute ce code, le bouton forcer l'arrêt n'est pas grisé.

À l'aide de la racine comment pouvez-I du programme, faire ce que le bouton forcer l'arrêt de l'Application info?

avez-vous une solution pour les non root?

OriginalL'auteur SamJ | 2014-10-03