मैं बैक कुंजी प्रेस की कार्यक्षमता को ओवरराइड करने का प्रयास कर रहा हूं। जब उपयोगकर्ता इसे एक बार दबाता है, तो मैं इसे पिछली स्क्रीन पर वापस आना चाहता हूं। हालांकि, जब बैक कुंजी लंबी दबाई जाती है (के लिए, मान लें, दो सेकंड या उससे अधिक), मैं एप्लिकेशन से बाहर निकलना चाहता हूं।लंबी कुंजी प्रेस और नियमित कुंजी प्रेस के बीच अंतर कैसे करें?
अब तक, मैं अपने गतिविधि में इन दोनों तरीकों ओवरराइड है
@Override
public boolean onKeyDown(int keyCode, KeyEvent event){
if (keyCode == KeyEvent.KEYCODE_BACK) {
//manage short keypress
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onKeyLongPress(int keyCode, KeyEvent event){
if (keyCode == KeyEvent.KEYCODE_BACK) {
//manage long keypress (different code than short one)
return true;
}
return super.onKeyLongPress(keyCode, event);
}
लेकिन onKeyLongPress
कॉलबैक कभी नहीं कहा जाता है, क्योंकि घटना हमेशा onKeyDown
विधि द्वारा प्राप्त होता है।
क्या दोनों विधियां काम करने का कोई तरीका है? या इसे onKeyDown
में किया जाना है और इसे पहचानने के लिए पुनरावृत्ति/मिलीसेकंड की संख्या का उपयोग करें?
घास इस लिंक [keyevent डॉक] (http://developer.android.com/reference/android/view/KeyEvent.Callback.html#onKeyDown%28int,%20android की जाँच करें। देखें। KEEvent% 29) –