Comment désactiver le bouton Précédent dans Android lors de la déconnexion de l'application?
Ignorez la méthode onBackPressed et ne faites rien si vous vouliez gérer le bouton Précédent de l'appareil.
@Override
public void onBackPressed() {
if (!shouldAllowBack()) {
doSomething();
} else {
super.onBackPressed();
}
}
Si vous recherchez Android niveau d'api jusqu'à 1.6.
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
//preventing default implementation previous to Android.os.Build.VERSION_CODES.Eclair
return true;
}
return super.onKeyDown(keyCode, event);
}
Et si vous recherchez un niveau d'api supérieur à 2.0, cela fonctionnera très bien.
@Override
public void onBackPressed() {
// Do Here what ever you want do on back press;
}
écrivez ce code dans votre activité pour éviter que le bouton Précédent ne soit enfoncé
Vous pouvez le faire simplement n'appelez pas super.onBackPressed ()
@Override
public void onBackPressed() {
// super.onBackPressed();
// Not calling **super**, disables back button in current screen.
}
Remplacez simplement la méthode onBackPressed ().
@Override
public void onBackPressed() { }
Je l'utilise .............
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode==KeyEvent.KEYCODE_BACK)
Toast.makeText(getApplicationContext(), "back press",
Toast.LENGTH_LONG).show();
return false;
// Disable back button..............
}
Si vous voulez vous assurer que votre application client Android est déconnectée d'un serveur avant que votre activité ne soit supprimée -> déconnectez-vous avec un service sur son propre thread (c'est ce que vous êtes censé faire de toute façon) .
La désactivation du bouton Retour ne résoudra rien pour vous. Vous aurez toujours le même problème lorsque l'utilisateur reçoit un appel téléphonique, par exemple. Lorsqu'un appel est reçu, votre activité a à peu près autant de chances d'être tuée avant de recevoir une réponse fiable du réseau.
C'est pourquoi vous devez laisser un service attendre sa réponse du réseau sur son propre thread, puis le faire réessayer s'il échoue. Le service Android non seulement est beaucoup moins susceptible de se faire tuer avant de recevoir une réponse, mais s'il le fait vraiment avant de terminer le travail, AlarmManager peut toujours le réactiver pour le réessayer.
Remplacez simplement la méthode onBackPressed () et inutile d'appeler la super classe de la méthode onBackPressed ou autres.
@Override
public void onBackPressed()
{
}
Ou passez votre activité actuelle dans la méthode onBackPressed ().
@Override
public void onBackPressed()
{
startActivity(new Intent(this, myActivity.class));
finish();
}
Remplacez le nom de votre activité require par myActivity.
si vous utilisez fragment, appelez d’abord la méthode callParentMethod ()
public void callParentMethod(){
context.onBackPressed(); // instead of context use getActivity or something related
}
puis appelez la méthode vide
@Override
public void onBackPressed()
{
}
si vous utilisez FragmentActivity
. alors fais comme ça
premier appel Ceci à l'intérieur de votre Fragment
.
public void callParentMethod(){
getActivity().onBackPressed();
}
puis appelez la méthode onBackPressed
à côté de votre classe parent FragmentActivity
.
@Override
public void onBackPressed() {
//super.onBackPressed();
//create a dialog to ask yes no question whether or not the user wants to exit
...
}
En utilisant simplement ce code: Si vous voulez appuyer sur désactiver, vous n’utilisez pas super.OnBackPressed ();
@Override
public void onBackPressed() {
}
Si vous souhaitez désactiver votre application lors de la déconnexion, vous pouvez afficher une boîte de dialogue non annulable.
Vous pouvez remplacer la méthode onBackPressed()
dans votre activité et supprimer l'appel de la classe super.
@Override
public void onBackPressed() {
//remove call to the super class
//super.onBackPressed();
}
En dehors de ces deux méthodes de réponse ci-dessus.
onBackPressed () (API de niveau 5, Android 2.0)
onKeyDown () (API de niveau 1, Android 1.0)
Vous pouvez également remplacer la dispatchKeyEvent()
(API de niveau 1, Android 1.0) comme ceci,
dispatchKeyEvent()
(API de niveau 1, Android 1.0)
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
// TODO Auto-generated method stub
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
return true;
}
return super.dispatchKeyEvent(event);
}
Il vous suffit de remplacer la méthode pour le bouton Précédent. Vous pouvez laisser la méthode vide si vous le souhaitez afin que rien ne se passe lorsque vous appuyez sur le bouton Précédent. Veuillez regarder le code ci-dessous:
@Override
public void onBackPressed()
{
// Your Code Here. Leave empty if you want nothing to happen on back press.
}
Pour moi, simplement remplacer onBackPressed()
ne fonctionnait pas, mais indiquer explicitement quelle activité elle devait commencer fonctionnait bien:
@Override
public void onBackPressed(){
Intent intent = new Intent(this, ActivityYouWanToGoBack.class);
startActivity(intent);
}
Essaye ça:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
return true;
}
return super.onKeyDown(keyCode, event);
}
retirer super.onBackPressed()
de public void onBackPressed()
fonctionne très bien. son testé dans Android 9
Désactiver le bouton de retour sous Android
@Override
public void onBackPressed() {
return;
}