मेरे उपयोगकर्ता टॉकबैक सक्षम या कुछ अन्य सुलभ सेवा का उपयोग करेंगे। मैं अपने ऐप में ऑनकेवेंट घटनाओं को कैप्चर करना चाहता हूं लेकिन ईवेंट सक्षम एक्सेसिबिलिटी सर्विसेज को भेजा जाता है। मैंने निम्नलिखित बुनियादी पहुंच सेवा बनाई है।ऑनकेवेन्ट और एक्सेसिबिलिटी सेवा
public class Accessibility_Service extends AccessibilityService {
private String TAG = Accessibility_Service.class.getSimpleName();
@Override
public boolean onKeyEvent(KeyEvent event) {
int action = event.getAction();
int keyCode = event.getKeyCode();
if (action == KeyEvent.ACTION_UP) {
if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) {
Log.d("Hello", "KeyUp");
} else if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) {
Log.d("Hello", "KeyDown");
}
return true;
} else {
return super.onKeyEvent(event);
}
}
/**
* Passes information to AccessibilityServiceInfo.
*/
@Override
public void onServiceConnected() {
Log.v(TAG, "on Service Connected");
AccessibilityServiceInfo info = new AccessibilityServiceInfo();
info.packageNames = new String[] { "com.camacc" };
info.eventTypes = AccessibilityEvent.TYPES_ALL_MASK;
info.notificationTimeout = 100;
info.feedbackType = AccessibilityServiceInfo.FEEDBACK_SPOKEN;
setServiceInfo(info);
}// end onServiceConnected
/**
* Called on an interrupt.
*/
@Override
public void onInterrupt() {
Log.v(TAG, "***** onInterrupt");
}// end onInterrupt
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
// TODO Auto-generated method stub
}
}// end Accessibility_Service class
जब मैं लॉगकैट की जांच करता हूं तो मुझे कोई प्रतिक्रिया नहीं मिल रही है। क्या TalkBack या ऐसी अन्य एक्सेसिबिलिटी सेवाओं से पहले वॉल्यूम डाउन एंड अप इवेंट्स का उपभोग करना संभव है?
धन्यवाद।
संपादित करें:
जोड़ा नहीं भाग्य के साथ फ्लैग अभी भी निम्न:
info.flags = AccessibilityServiceInfo.FLAG_REQUEST_FILTER_KEY_EVENTS;
धन्यवाद, मैं वॉल्यूम अप और वॉल्यूम डाउन इवेंट पाने में सक्षम था। मुलायम कीबोर्ड कुंजी प्रेस / – ashishdhiman2007