>> Tecnologia elettronica >  >> Cellulari & accessori >> Smartphone

Come Creare un Pulsante di Uscita (Exit Button) in un'App Android (Sviluppo)

In Android, non è consigliato creare un pulsante "Esci" / "Chiudi" nelle app. Il sistema gestisce il ciclo di vita: utente preme Home/Gesture/Recenti > app va in background (onStop/onPause) > sistema la uccide (onDestroy) quando serve RAM. Forzare chiusura (finish(), System.exit(0), Process.killProcess()) rompe il modello, impedisce salvataggio stato, ripristino rapido, e viola linee guida Material Design / Play Store. Tuttavia, per casi specifici (app kiosk, test, sicurezza alta, logout esplicito), ecco come implementare correttamente.

Approccio Corretto: Logout / Pulizia + finish()

Non "uccidere" il processo. Chiudi l'Activity corrente e rimuovi dallo stack back.

Kotlin (Modern Standard)

// Nel tuo Activity/Fragment, es. click listener su buttonExit
buttonExit.setOnClickListener {
    // 1. Pulizia: logout, salva preferenze, ferma servizi, chiudi DB, cancella token sensibili
    authRepository.logout()
    // 2. Chiudi Activity e rimuovi da back stack
    finishAffinity() // Chiude tutte le activity nel task (esce dall'app)
    // OPPURE solo questa activity: finish()
    // OPPURE per API 21+: finishAndRemoveTask()
}

Java (Legacy)


buttonExit.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // 1. Pulizia
        AuthRepository.getInstance().logout();
        // 2. Esci
        finishAffinity(); // API 16+ (Jelly Bean)
        // finishAndRemoveTask(); // API 21+ (Lollipop)
        // System.exit(0); // EVITARE: uccide processo brutalmente, no lifecycle callbacks
    }
});

Layout XML (Button)


<Button
    android:id="@+id/buttonExit"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/exit_app" />
    <!-- onClick="onExitClick" se usi metodo in Activity (vecchio stile) -->

strings.xml


<string name="exit_app">Esci / Logout</string>

Considerazioni Critiche

Conclusione: Progetta app per non aver bisogno di pulsante Esci. Usa pattern Android standard: Home per uscire, Back per navigare indietro/chiudere. Se serve logout esplicito: implementa pulizia sessione + finishAffinity().

  1. Come Attivare il Pulsante 3G su HTC HD2
  2. Come Creare Toni di Notifica per Motorola Android
  3. Come Creare Suonerie per il Motorola PEBL
  4. Come compilare un kernel Android per Samsung Intercept
  5. Come usare Exceller Loader per Android
  6. Input touch per Android: tap, swipe, press, multi-touch