In questo articolo vedremo come chiudere l'applicazione avendo il tasto indietro (Back Key) disabilitato.
Per fare questo inseriamo nel layout della nostra app un Button associato poi alla variabile bnExit
Dopo è necessario inserire questa riga di codice all'intrno della funzione che gestisce il click del Button
Ecco come si presenta l'interno codice nel file MainActivity.kt
Come di può vedere alla riga 21 è stata inserita la funzione nativa di Android finish() in modo che l'app venga chiusa.
Inoltre, è sempre presente la funzione nativa di Android onBackPressed() alle righe 25-28 che contiene solo la visualizzazione di un messaggio di avviso, in questo modo quando tocchiamo il tasto Back non si chiude l'app.
Per fare questo inseriamo nel layout della nostra app un Button associato poi alla variabile bnExit
Dopo è necessario inserire questa riga di codice all'intrno della funzione che gestisce il click del Button
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
finish() |
Ecco come si presenta l'interno codice nel file MainActivity.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.dm.tutorialdisableback2 | |
import androidx.appcompat.app.AppCompatActivity | |
import android.os.Bundle | |
import android.widget.Button | |
import android.widget.Toast.* | |
class MainActivity : AppCompatActivity() { | |
var bnExit: Button? = null //variabile della View Button | |
override fun onCreate(savedInstanceState: Bundle?) { | |
super.onCreate(savedInstanceState) | |
setContentView(R.layout.activity_main) | |
//associazione alla variabile della View Button con ID=button | |
bnExit = findViewById(R.id.button) | |
bnExit!!.setOnClickListener { | |
//questa istruzione permette di chiudere l'app | |
finish() | |
} | |
} | |
override fun onBackPressed() { | |
//inserire qui il codice che deve essere eseguito quando si preme il tasto back | |
makeText(this, "Hai premuto il tasto back e l'app non si è chiusa\nProva a cliccare il tasto Chiudi", LENGTH_LONG).show() | |
} | |
} |
Inoltre, è sempre presente la funzione nativa di Android onBackPressed() alle righe 25-28 che contiene solo la visualizzazione di un messaggio di avviso, in questo modo quando tocchiamo il tasto Back non si chiude l'app.
Download Project | ![]() |
Download file APK | ![]() |
Ciao, dopo aver provato a disabilitare il tasto back con successo, stavo provando a disabilitare il tasto home su un tablet Samsung ma non riesco. Hai qualche consiglio? Grazie
RispondiEliminaNon credo sia una cosa possibile, in quanto il tasto Home deve permettere in ogni caso l'uscita dall'app.
Elimina