2013-07-26 67 views
7

Pracuję nad aplikacją dla systemu Android przy użyciu PhoneGap. Muszę obsługiwać urządzenie z powrotem funkcjonalność przycisku za pomocą poniższego kodu:Android - przycisk Wyłącz urządzenie Powrót

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); 
     } 
    }); 
    } 

Stosując powyższy kod, Zastosowanie coraz odszedł bo użyłem finish(); Ale chcę nic należy się na kliknięcie przycisku urządzenia powrotem. Jak mogę to osiągnąć? Proszę pomóż mi.

+3

usunąć wywołanie mety, albo ja nie rozumiem pytania ... –

+0

Przycisk Wstecz nie może być wyłączone nieukorzenionych urządzeń, kwestie bezpieczeństwa .. – g00dy

+0

Sprawdź to wyślij: http://stackoverflow.com/questions/15834629/android-droidgap-disabling-back-button?rq=1 – Tinus81

Odpowiedz

23

Dlaczego musisz to zrobić na poziomie Java? Można to osiągnąć przy użyciu JavaScript PhoneGap na Event API

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

Tak, wiem, jak to zrobić, używając 'Phonegap' ... ale problem polega na tym, że na serwerze jest 100 stron HTML i nie mam szansy na obsługę/modyfikację treści HTML .. więc próbuję to zrobić na poziomie Java. Czy mimo to mogę przejść przez Javę ...? –

+2

e.preventDefault(); nie działa. Próbuję usunąć domyślne zdarzenie z przycisku wstecz urządzenia z Androidem i próbowałem powyższego kodu, ale nie ma szczęścia, że ​​aplikacja wciąż powraca z poprzedniej strony. – GianFS

+0

Ten kod musi znajdować się wewnątrz detektora zdarzeń "deviceready". Jeśli piszesz to bezpośrednio w HTML, sprawdź także, czy masz "unsafe-inline" w default-src, aby zezwolić na wprowadzanie JavaScript. – Honza

Powiązane problemy