Bagaimana cara menonaktifkan tombol kembali yang ditekan untuk tampilan web di Android?

Bagaimana cara menonaktifkan tombol kembali yang ditekan untuk tampilan web di Android?

@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
     if (wv1 != null && (keyCode == KeyEvent.KEYCODE_BACK)
                     && wv1.canGoBack() )
     {

        wv1.goBack();
    }

    return true;
}

person naveenmethuku    schedule 18.09.2015    source sumber
comment
Tolong beri informasi lebih lanjut. Apa yang ingin Anda capai? Saya tidak mengerti apa yang Anda minta.   -  person Thomas R.    schedule 18.09.2015
comment
Apakah tampilan web selalu terlihat ??   -  person uday    schedule 18.09.2015
comment
Nonaktifkan tombol kembali di Android   -  person LF00    schedule 23.06.2017
comment
Anda dapat mengganti salah satu metode berikut dispatchKeyEvent, onBackPressed, onKeyDown. Lihat jawaban ini untuk mengetahui lebih lanjut.   -  person LF00    schedule 23.06.2017


Jawaban (5)


Jika Anda ingin menonaktifkan tindakan tombol kembali ketika WebView Terlihat dan mengaktifkan tindakan tombol kembali jika WebView tidak Terlihat coba kode di bawah ini dalam Aktivitas Anda

@Override
public void onBackPressed() {
   if(webview.getVisibility()==View.VISIBLE){
      // dont pass back button action
      if(webview.canGoBack()){
         webview.goBack();
      }
      return;
   }else{
      // pass back button action
      super.onBackPressed();
   }
}
person uday    schedule 18.09.2015
comment
bagus sekali! bagi saya, saya tidak ingin tampilan web mencuri penekanan tombol kembali, jadi di dalam public void onBackPressed() saya hanya punya satu baris super.onBackPressed(); - person Someone Somewhere; 24.07.2018

Cukup ganti metode onBackPressed().

@Override
public void onBackPressed() { }
person KishuDroid    schedule 18.09.2015

Silakan coba ini

   @Override
public void onBackPressed() {
      if(webview.canGoBack()){
         webview.goBack();
      }
    else{
      super.onBackPressed();
   }
}
person Ashish Agrawal    schedule 18.09.2015

Ada banyak cara untuk membuatnya,

Solusi 1, mengganti pengirimanKeyEvent()

pengirimanKeyEvent()(API Level 1, Android 1.0)

Lihat jawaban saya gunakan pengirimanKeyEvent untuk menonaktifkan tombol kembali

@Override
public boolean dispatchKeyEvent(KeyEvent event) {
    // TODO Auto-generated method stub
    if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
        return true;
    }
    return super.dispatchKeyEvent(event);
}

Solusi 2, mengganti onBackPressed()

onBackPressed() (API Tingkat 5, Android 2.0)

Lihat Gunakan onBackPressed() untuk menonaktifkan tombol kembali

@Override
public void onBackPressed() {
}

Solusi 3, mengganti onKeyDown()

onKeyDown() (API Tingkat 1, Android 1.0)

Lihat Gunakan onKeyDown() untuk menonaktifkan tombol kembali

@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);    
}
person LF00    schedule 23.06.2017
comment
Saya ingin browser tidak melakukan operasi kembali default setelah pengguna menekan tombol kembali. Sebaliknya, JavaScript mendapatkan peristiwa kunci (document.onkeydown dan kode kunci = 8). Apakah ini mungkin? - person forDream; 03.05.2018
comment
@forDream Saya pikir itu mungkin, Anda perlu memastikan acara js atau acara Java terlebih dahulu. Dan Anda juga dapat meneruskan acara klik antara kode js dan java. - person LF00; 03.05.2018
comment
Secara umum, saya ingin meneruskan kode kunci ke tampilan web untuk nilai apa pun, seperti kode kunci -1 / -2 atau yang lainnya. Yaitu. pemicu document.onkeydown / onkeypress / onkeyup - person forDream; 03.05.2018

Anda telah menambahkan kode di bawah ini dalam Aktivitas untuk menonaktifkan aktivitas kembali ditekan

@Override
public void onBackPressed() {

}
person Android Team    schedule 18.09.2015