मुझे पता है कि कोई एंड्रॉइड में बैक बटन कार्यक्षमता को ओवरराइट कर सकता है, लेकिन मैं सोच रहा था कि कोई विधि या कुछ भी है जिसे मैं कॉल कर सकता हूं जो हार्डवेयर बटन दबाकर काम करता है।हार्डवेयर बैक बटन प्रोग्रामेटिक रूप से कॉल करें?
उत्तर
आप इस
this.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK));
की तरह व्यवस्था करने के लिए वापस बटन प्रेस भेज सकते हैं या आप वापस बटन प्रेस को ओवरराइड और आपके गतिविधि पर
finish();
कॉल कर सकते हैं। यह मूल रूप से जेनेरिक बैक बटन जैसा ही काम करता है।
गतिविधि में this.onBackPressed();
पर कॉल करें।
यह एक अच्छा जवाब है। – VSG24
यह एक सबसे अच्छा जवाब है, क्योंकि केवल कॉलिंग फिनिश ट्रिगर नहीं होता है वास्तविक बैक बटन की तरह बैकप्रेस किया जाता है। यदि गतिविधि अतिरिक्त सामान कर रही है तो इसे याद किया जाएगा। – Andrew
लेकिन जैसे गतिविधि पर कोई संवाद है तो यह गतिविधि बंद कर देगा, और वास्तविक बटन ऐसा नहीं करता है। – NehaK
तुम सिर्फ "प्रेस" हार्डवेयर बटन चाहते हैं, बनाने सेवा AccessibilityService
से बढ़ाया:
class ExampleAccessService:AccessibilityService() {
override fun onInterrupt() {
}
override fun onAccessibilityEvent(event: AccessibilityEvent?) {
}
fun doAction(){
performGlobalAction(GLOBAL_ACTION_RECENTS)
// performGlobalAction(GLOBAL_ACTION_BACK)
// performGlobalAction(GLOBAL_ACTION_HOME)
// performGlobalAction(GLOBAL_ACTION_NOTIFICATIONS)
// performGlobalAction(GLOBAL_ACTION_POWER_DIALOG)
// performGlobalAction(GLOBAL_ACTION_QUICK_SETTINGS)
// performGlobalAction(GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN)
}
}
कॉल doAction()
जहाँ आप चाहते हैं कार्रवाई
Manifest
में जोड़ें:
<application
...
<service
android:name=".ExampleAccessService"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"
android:label="Name of servise" // it will be viewed in Settings->Accessibility->Services
android:enabled="true"
android:exported="false" >
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService"/>
</intent-filter>
<meta-data
android:name="android.accessibilityservice"
android:resource="@xml/accessibility_service_config"/>
</service>
...
</application>
accessibili ty_service_config.xml:
<?xml version="1.0" encoding="utf-8"?>
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityEventTypes="typeAllMask"
android:accessibilityFeedbackType="feedbackAllMask"
android:accessibilityFlags="flagDefault"
android:canRetrieveWindowContent="false"
android:description="your description"
android:notificationTimeout="100"
android:packageNames="your app package, ex: ex: com.example.android"
android:settingsActivity="your settings activity ex: com.example.android.MainActivity" />
अधिक जानकारी के लिए https://developer.android.com/guide/topics/ui/accessibility/services.html
- 1. एंड्रॉइड प्रोग्रामेटिक रूप से बैक बटन कैसे दबाएं?
- 2. एंड्रॉइड: हार्डवेयर जानकारी प्रोग्रामेटिक रूप से
- 3. हार्डवेयर बैक बटन jquery मोबाइल पर नियंत्रण लें
- 4. एंड्रॉइड पर हार्डवेयर बैक बटन के साथ ईवेंट कैसे पकड़ें?
- 5. एंड्रॉइड बनाने का बटन प्रोग्रामेटिक रूप से
- 6. बटन का मार्जिन प्रोग्रामेटिक रूप से
- 7. एंड्रॉइड प्रोग्रामेटिक रूप से बटन टेक्स्ट
- 8. बैक बटन
- 9. एंड्रॉइड: बैक-अप संदेश और फ़ाइलें प्रोग्रामेटिक रूप से
- 10. बैक बटन
- 11. बैक बटन
- 12. एंड्रॉइड रेडियोग्रुप बटन प्रोग्रामेटिक रूप से
- 13. टीपीएल 'कॉल-बैक' कैसे करें
- 14. बैक बटन
- 15. एंड्रॉइड: प्रोग्रामेटिक रूप से पता लगाएं कि डिवाइस में हार्डवेयर मेनू बटन
- 16. एंड्रॉइड बैक बटन ओवरराइड करें
- 17. बैक बटन
- 18. एंड्रॉइड लागू करें: बटन = "@ ड्रायबल/चेकबॉक्स" प्रोग्रामेटिक रूप से
- 19. एंड्रॉइड - प्रोग्रामेटिक रूप से बटन रंग कैसे सेट करें
- 20. प्रोग्रामेटिक रूप से अनदेखा करें
- 21. मोबाइल सफारी बैक बटन
- 22. बैक बटन
- 23. ब्राउजर बैक बटन
- 24. मोनोड्रॉइड जावास्क्रिप्ट कॉल-बैक
- 25. एंड्रॉइड प्रोग्रामेटिक रूप से
- 26. बैकअप डेटाबेस प्रोग्रामेटिक रूप से
- 27. लोड रेटिना (उच्च गुणवत्ता) छवियां प्रोग्रामेटिक रूप से (बटन पर)
- 28. पीजेएक्स: बैक बटन
- 29. परिणाम बैक बटन
- 30. लेआउट_मार्गिन प्रोग्रामेटिक रूप से कैसे सेट करें?
को देखो मेरे कोड में काम नहीं करता ... मेरे ACTION_DOWN लिए इसे बदलने के लिए, और KEYCODE_BACK मौजूद नहीं है बताता है, मैं क्या आवश्यकता होगी उन्हें खोजने के लिए आयात करने के लिए? – JuiCe
KeyEvent.ACTION_DOWN और KeyEvent.KEYCODE_BACK का उपयोग करने का प्रयास करें :) – jimmithy
धन्यवाद आप दोनों बहुत धन्यवाद। – JuiCe