2013-07-26 22 views
7

PhoneGap kullanarak android uygulaması üzerinde çalışıyorum. Ben aşağıdaki kodu kullanarak düğme işlevselliği Cihazı geri işlemek gerekir: i finish(); kullanmış Ama hiçbir şey Cihazı geri düğmesi tıklamasıyla tarihinde meydana edilmelidir istiyorum, çünküAndroid - Cihazı Geri Kapat düğmesini

import com.phonegap.DroidGap; 
public Class MyClass extends DroidGap { 
appView.setOnKeyListener(new OnKeyListener() { 
     public boolean onKey(View v, int keyCode, KeyEvent event) { 
      if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_UP) { 
       finish(); 
       return true; 
      } 
      return onKeyDown(keyCode, event); 
     } 
    }); 
    } 

yukarıdaki kodu kullanarak, Uygulama çıkıldı alıyorum. Bunu nasıl anlayabilirim? Lütfen bana yardım et.

+3

bitiş aramayı Kaldır kullanarak JavaScript ile bunu başarabilirsiniz, yoksa soruyu anlamadım ... –

+0

Geri düğmesi köksüz cihazlar, güvenlik konularında devre dışı bırakılamaz .. – g00dy

+0

Kontrol bu yayınla: http://stackoverflow.com/questions/15834629/android-droidgap-disabling-back-button?rq=1 – Tinus81

cevap

23

Neden bunu Java düzeyinde yapmalısınız? Sen PhoneGap en Event API

document.addEventListener("backbutton", onBackKeyDown, false); 
function onBackKeyDown(e) { 
    e.preventDefault(); 
} 
+1

Evet 'Phonegap' kullanarak nasıl yapılacağını biliyorum ... ama sorun sunucuda HTML sayfaları 100s var ve ben HTML içeriği işlemek/değiştirmek için bir şans var .. Yani, ben bunu bitirmeye çalışıyorum Java düzeyinde .. Yine de Java ile başa çıkabilir miyim ...? –

+2

e.preventDefault(); çalışmıyor. Ben android cihaz geri düğmesinden varsayılan olayı kaldırmaya çalışıyorum ve yukarıdaki kodu denedim ama uygulama hala bir önceki sayfadan dönüyor şans – GianFS

+0

Bu kod "deviceready" olay dinleyicisi içinde olmalıdır. Bunu doğrudan HTML'ye yazıyorsanız, javascript inlining'e izin vermek için 'safe-inline' varsayılan-src'de de olup olmadığını kontrol edin. – Honza

İlgili konular