Comment puis-je désactiver 'go back' à une certaine activité?
Je ne veux pas que l'utilisateur soit en mesure de revenir à l'écran d'accueil de mon application. Une solution semble être de vérifier si l'activité en dessous de la version actuelle est une instance de l'écran d'accueil, et dans ce cas, quitter l'application, comme indiqué dans le code ci-dessous. Cependant, je ne sais pas comment faire pour vérifier ce qui est de l'activité précédente dans la pile. Quelqu'un peut m'aider? Est-il un autre moyen de le désactiver 'go back' pour une activité donnée?
@Override
public void onBackPressed() {
if(<previous activity in stack is an instance of splashscreen>){
Intent exit_intent=new Intent(CurrentActivity.this, SplashScreen.class);
exit_intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
exit_intent.putExtra("EXIT", true);
context.startActivity(exit_intent);
}
}
Vous devez vous connecter pour publier un commentaire.
Appel
finish()
dans votre Écran de démarrage de l'activité de droit après le début de la prochaine activité.Une autre approche consiste à ajouter cet attribut à votre activité en
AndroidManifest.xml
:android:noHistory="true"
Exemple:
Cet attribut indique Android pour supprimer SplashActivity de l'histoire de la pile une fois son navigué loin de.
android:noHistory="true"
va causer d'ennuis depuis il ne marche pas effacer toutes les tâches, @A. Binzxxxxxx 's réponse est mieuxAppelez simplement
context.finish()
aprèscontext.startActivity()
essayez ce qui suit lors de l'appel de la prochaine
Activity
à partir de votre écran d'accueil:De la la documentation: