मैं अपनी मुख्य गतिविधि के KEYDown() को KEYCODE_BACK के साथ आमंत्रित करने की कोशिश कर रहा हूं, ताकि यह व्यवहार करे जैसे मैंने 'बैक' बटन दबाया। ,नकली KeyEvent * बिल्कुल * असली "बटन की तरह काम नहीं करता है। क्यूं कर?
return super.onKeyDown(keyCode, event);
फिर भी, असली वापस बटन के विपरीत, जब '' नकली कोड कहा जाता है:
KeyEvent goBackDown = new KeyEvent(0,0,KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_BACK,0,0);
goBackDown.dispatch(activity);
SystemClock.sleep(50); // as if human pressed the key
KeyEvent goBackUp = new KeyEvent(0,0,KeyEvent.ACTION_UP,KeyEvent.KEYCODE_BACK,0,0);
goBackUp.dispatch(activity);
मेरे गतिविधि के OnKeyDown() वर्तमान में केवल कॉल: मुझे लगता है कि निम्नलिखित कोड का उपयोग कर गतिविधि अदृश्य बनने से इनकार कर दिया।
क्यों?
यह काम किया। धन्यवाद! अब मुझे समझने की जरूरत है क्यों। :-) – srf
@ एसआरएफ 'सार्वजनिक अंतिम बूलियन प्रेषण (KeyEvent.Callback रिसीवर) 'बहिष्कृत है। 'सार्वजनिक अंतिम बूलियन प्रेषण (KeyEvent.Callback रिसीवर, KeyEvent.DispatcherState राज्य, ऑब्जेक्ट लक्ष्य)' सिद्धांत सिद्धांत में भी होना चाहिए, लेकिन मुझे इसका उपयोग करने का कोई अनुभव नहीं है। – Aleadam
@Aleadam क्या हम यूनिकोड चार मान का उपयोग करके KeyEvent ऑब्जेक्ट बना सकते हैं? – smartkid