Je suis en train d'écrire un processus qui tue les applications en cours d'exécution en arrière-plan, mais les applications apparaissent-elles encore dans la liste des dernières applications et non matriçage:essayant de tuer une application
ActivityManager am = (ActivityManager) getApplicationContext().getSystemService(
Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> processList = am.getRunningTasks(5);
for(int i=0; i<processList.size();i++){
cProcess = processList.get(i).baseActivity.getPackageName();
if(!allowedApps.contains(cProcess)){
am.killBackgroundProcesses(cProcess);
Log.v("","---------------------------------------------------------kill-----"+cProcess);
}
}
Ne faites pas cela. Android a une gestion unique de la durée de vie des processus, et essayer de lutter contre ce mécanisme sera une bataille perdue. –
non je suis en train de construire un mode lanceur/kiosque pour un client de détail et nous essayons d'empêcher la tablette d'accéder à certaines applications tierces – erik
Question idiote, mais avez-vous l'autorisation 'KILL_BACKGROUND_PROCESSES' dans votre manifeste? Deuxièmement, il peut y avoir de meilleurs moyens de sécuriser une application en mode kiosque. Rédaction d'un programme "lanceur" sans icônes de l'application tierce (ou un plateau d'application), pour un. Remplacer les boutons du système (voir [ici] (http://stackoverflow.com/questions/11882581/android-is-it-possible-to-disable-la-long-click-of-home-button-to-avoid- le-t/12652490 # 12652490) est un autre. Tuer des tâches tierces n'empêche pas vraiment les gens d'y avoir accès, il y a de meilleures façons de le faire. – Geobits