Saya sudah mencoba menunjukkan "Anda ingin keluar?" jenis dialog ketika pengguna mencoba untuk keluar dari suatu Aktivitas.
Namun saya tidak dapat menemukan kait API yang sesuai. Activity.onUserLeaveHint()
awalnya terlihat menjanjikan, tetapi saya tidak dapat menemukan cara untuk menghentikan Kegiatan dari penyelesaian.
Jawaban:
Di Android 2.0+ ini akan terlihat seperti:
Pada versi sebelumnya akan terlihat seperti:
sumber
sumber
CustomTabActivity.super.onBackPressed
finish()
kodenyasuper.onBackPressed()
?MyActivity.super.onBackPressed();
dan berfungsi dengan baik untuk saya. Tampaknya pendekatan yang paling logis juga - untuk memanggil metode yang Anda timpa jika Anda ingin perilaku standar ketika pengguna mengetuk "Tidak."Telah memodifikasi kode @ user919216 .. dan membuatnya kompatibel dengan WebView
sumber
Saya lebih suka keluar dengan ketuk dua kali pada tombol kembali daripada dengan Dialog keluar.
Dalam solusi ini, ia menunjukkan bersulang ketika kembali untuk pertama kalinya, memperingatkan bahwa tekan kembali akan menutup Aplikasi. Dalam contoh ini kurang dari 4 detik.
Token dari: http://www.androiduipatterns.com/2011/03/back-button-behavior.html
sumber
Jika Anda tidak yakin apakah panggilan untuk "kembali" akan keluar dari aplikasi, atau akan membawa pengguna ke aktivitas lain, Anda dapat membungkus jawaban di atas dalam tanda centang, isTaskRoot (). Ini dapat terjadi jika aktivitas utama Anda dapat ditambahkan ke tumpukan belakang beberapa kali, atau jika Anda memanipulasi riwayat tumpukan belakang Anda.
sumber
Menggunakan Lambda:
Anda juga perlu mengatur bahasa level untuk mendukung java 8 di gradle.build Anda:
sumber
di Cina, sebagian besar Aplikasi akan mengonfirmasi keluar dengan "klik dua kali":
sumber
Pertama-tama hapus
super.onBackPressed();
darionbackPressed()
metode daripada dan di bawah kode:sumber
Saya suka pendekatan @GLee dan menggunakannya dengan fragmen seperti di bawah ini.
Dialog menggunakan Fragmen:
sumber
sumber
Alternatif lain adalah menampilkan a
Toast
/Snackbar
pada pers belakang pertama yang meminta untuk menekan kembali ke Exit , yang jauh lebih tidak mengganggu daripada menunjukkan aAlertDialog
untuk mengonfirmasi jika pengguna ingin keluar dari aplikasi.Anda dapat menggunakan
DoubleBackPress Android Library
untuk mencapai ini dengan beberapa baris kode. Contoh GIF yang menunjukkan perilaku serupa.Untuk memulainya, tambahkan ketergantungan ke aplikasi Anda:
Selanjutnya, dalam Aktivitas Anda, terapkan perilaku yang diperlukan.
Akhirnya, atur ini sebagai perilaku di tekan kembali.
sumber