2011-11-11 9 views
28

एंड्रॉइड पर हार्डवेयर बैक बटन के साथ ईवेंट कैसे पकड़ें? मुझे वापस जाने के लिए उपयोगकर्ता को दबाने की ज़रूरत है और जब मैं संदेश दिखाने के लिए फोन पर बैक बटन पर क्लिक करता हूं और पिछली गतिविधि पर नहीं जाता हूं। उसको कैसे करे ?एंड्रॉइड पर हार्डवेयर बैक बटन के साथ ईवेंट कैसे पकड़ें?

+4

-1 खोजें, यह हर हफ्ते कम से कम एक बार कवर किया गया है। –

+0

संभावित डुप्लिकेट [एंड्रॉइड में बैक बटन अक्षम करें] (http://stackoverflow.com/questions/4779954/disable-back-button-in-android) –

उत्तर

8

onBackPressed() जो भी Activity में ओवरराइड करें, आप बैक बटन पर एक अलग व्यवहार बनाना चाहते हैं।

ये सवाल

तुम्हारा के बराबर हैं (और कर सकता है एक साधारण खोज द्वारा पाया गया है):

how to disable back button in android

Disable back button in android

53

आप इस

  1. ओवरराइड द्वारा कर सकते हैं इस गतिविधि की तरह आपकी गतिविधि में बैकप्रेस() विधि

    public void onBackPressed(){ 
        // do something here and don't write super.onBackPressed() 
    } 
    
  2. ओवरराइड OnKeyDown() विधि

    @Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) { 
        switch(keyCode){ 
        case KeyEvent.KEYCODE_BACK: 
         // do something here 
         return true; 
        } 
        return super.onKeyDown(keyCode, event); 
    } 
    
+0

क्या यह वास्तव में 'केडडाउन()' को ओवरराइड करना आवश्यक है? जब बैक कुंजी दबाया जाता है, तो 'बैकप्रेस()' पर कॉल नहीं किया जाएगा? – LarsH

0

आप इस तरह अपनी गतिविधि में उपयोगकर्ता "वापस" को दबा सकती हैं onKeyDown() के साथ कार्रवाई: मांगने से पहले

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) 
{ 
    if ((keyCode == KeyEvent.KEYCODE_BACK)) 
    { 
     //do actions like show message 
     return false; 
    } 
    return super.onKeyDown(keyCode, event); 
} 
संबंधित मुद्दे