Bagaimana cara menonaktifkan tombol kembali di android saat keluar aplikasi?
Bagaimana cara menonaktifkan tombol kembali di android saat keluar aplikasi?
Jawaban:
Ganti metode onBackPressed dan jangan lakukan apa pun jika Anda bermaksud menangani tombol kembali pada perangkat.
@Override
public void onBackPressed() {
if (shouldAllowBack()) {
super.onBackPressed();
} else {
doSomething();
}
}
Jika mencari api level 2.0 yang lebih tinggi dan di atasnya, ini akan berhasil
@Override
public void onBackPressed() {
// Do Here what ever you want do on back press;
}
Jika mencari tingkat api Android hingga 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);
}
Tulis kode di atas dalam Aktivitas Anda untuk mencegah tombol kembali ditekan
Anda dapat melakukan ini dengan cara sederhana Jangan panggil super.onBackPressed ()
@Override
public void onBackPressed() {
// super.onBackPressed();
// Not calling **super**, disables back button in current screen.
}
Cukup timpa metode onBackPressed () .
@Override
public void onBackPressed() { }
Saya menggunakannya .............
@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..............
}
Jika Anda ingin memastikan aplikasi klien android Anda logout dari beberapa server sebelum Aktivitas Anda terbunuh -> logout dengan layanan di utasnya sendiri (itulah yang seharusnya Anda lakukan).
Menonaktifkan tombol kembali tidak akan menyelesaikan apa pun untuk Anda. Anda masih akan memiliki masalah yang sama ketika pengguna menerima panggilan telepon misalnya. Ketika panggilan telepon diterima, aktivitas Anda memiliki peluang terbunuh sebelum mendapat jawaban yang andal dari jaringan.
Itu sebabnya Anda harus membiarkan layanan menunggu utasnya untuk jawaban dari jaringan, dan kemudian membuatnya mencoba lagi jika tidak berhasil. Layanan android tidak hanya jauh lebih kecil kemungkinannya untuk terbunuh sebelum mendapat jawaban kembali, tetapi jika benar-benar terbunuh sebelum menyelesaikan pekerjaan, itu selalu dapat dihidupkan kembali oleh AlarmManager untuk mencoba lagi.
Cukup timpa metode onBackPressed () dan tidak perlu memanggil kelas super metode onBackPressed atau yang lain ..
@Override
public void onBackPressed()
{
}
Atau meneruskan aktivitas Anda saat ini ke metode onBackPressed ().
@Override
public void onBackPressed()
{
startActivity(new Intent(this, myActivity.class));
finish();
}
Ganti nama aktivitas yang Anda butuhkan ke myActivity.
jika Anda menggunakan fragmen maka pertama-tama panggil metode callParentMethod ()
public void callParentMethod(){
context.onBackPressed(); // instead of context use getActivity or something related
}
lalu panggil metode kosong
@Override
public void onBackPressed()
{
}
jika Anda menggunakan FragmentActivity
. maka lakukan seperti ini
panggilan pertama Ini di dalam Anda Fragment
.
public void callParentMethod(){
getActivity().onBackPressed();
}
lalu panggil onBackPressed
metode di samping FragmentActivity
kelas indukmu .
@Override
public void onBackPressed() {
//super.onBackPressed();
//create a dialog to ask yes no question whether or not the user wants to exit
...
}
Anda dapat mengganti onBackPressed()
metode dalam aktivitas Anda dan menghapus panggilan ke kelas super.
@Override
public void onBackPressed() {
//remove call to the super class
//super.onBackPressed();
}
Anda hanya perlu mengganti metode untuk tombol kembali. Anda dapat membiarkan metode ini kosong jika diinginkan sehingga tidak ada yang terjadi ketika Anda menekan tombol kembali. Silakan lihat kode di bawah ini:
@Override
public void onBackPressed()
{
// Your Code Here. Leave empty if you want nothing to happen on back press.
}
Terlepas dari kedua metode ini dari jawaban di atas.
onBackPressed () (API Level 5, Android 2.0)
onKeyDown () (API Level 1, Android 1.0)
Anda juga dapat mengganti dispatchKeyEvent()
(API Level 1, Android 1.0) seperti ini,
dispatchKeyEvent()
(API Level 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);
}
Nonaktifkan kembali tombol di android
@Override
public void onBackPressed() {
return;
}
Coba ini:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
return true;
}
return super.onKeyDown(keyCode, event);
}