Je suppose que Android ne laissent pas les gens à le faire, parce qu'ils pensent qu'ils ont poignée idéale pour la tâche/applications. Cependant, j'ai vraiment besoin de le faire dans mon cas.
J'ai une activité en agissant comme point de départ de ma demande. Dans cette activité, il lit la préférence et qui a décidé l'activité pour commencer, disons B ou C. Après, il finit lui-même. Ainsi, l'activité n'apparaît jamais pour les utilisateurs.
Mon application stocke des choses sur la sdcard, et lit de permanence. Ainsi, lorsque la carte sd est démonté, j'ai besoin d'afficher un message à l'utilisateur que la carte sd n'est pas disponible, au lieu de l'ouverture B ou C. j'ai mis une case dans Un affichage de ce message lors de la sdcard est unavilable. Lorsque ce message est affiché, Une volonté de ne pas essayer de démarrer B ou C.
Fonctionne parfaitement si l'utilisateur seulement entrer dans mon application depuis le lancement de l'application. Cependant, j'ai trouvé que l'utilisateur peut également entrer dans mon application en appuyant longuement sur la maison et de choisir à partir de l'application récente de la liste, si il l'a ouvert récemment. Lorsque l'utilisateur fait, il saute et passe directement à B ou C. je n'ai pas le vérifier dans les deux d'entre eux, alors une exception est levée alors que je suis en train d'essayer d'accéder à sdcard, et de la force de fermer la boîte de dialogue pop-up.
Je peux simplement passer mon chèque à la fois B et C pour résoudre ce problème. Mais à l'avenir, le nombre d'activités a commencé à partir d'Une volonté d'augmenter. Si il y a 6 d'entre eux, je vais avoir besoin de copier cette case à 6 places. Inutile de dire, c'est très moche, et est d'un entretien cauchemar.
Donc, la meilleure correction devrait être la suppression de mon application à partir de la récente application de la liste lorsque la carte sd est uunmounted. Cependant, je ne trouve pas comment faire. Même en tuant le processus ou l'utilisation ActivityManager.restartPackage, il apparaît toujours dans la liste. Quelqu'un peut me dire comment le supprimer de la liste?