2017-11-01 8 views
5

मेरे पास डिवाइस पर दो अलग-अलग ऐप्स में दो एक्सेसिबिलिटी सेवाएं हैं। उनमें से प्रत्येक अन्य ऐप्स पर कुछ दृश्य खींचता है। मुझे निम्नलिखित समस्या का सामना करना पड़ा: जब 2 अभिगम्यता सेवाएं सक्षम होती हैं, केवल एक ही दृश्य खींचती है, किसी और को कोई घटना नहीं मिलती है। घटनाओं के लिएकई ऐप्स जो सहायता के साथ अन्य ऐप्स पर दृश्य खींचते हैं, एक्सेसिबिलिटी सेवा एक ही समय में काम नहीं करती है

विन्यास पीछा कर रहा है:

@Override 
protected void onServiceConnected() { 
    AccessibilityServiceInfo info = new AccessibilityServiceInfo(); 
    info.eventTypes = AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED; 
    info.feedbackType = AccessibilityEvent.TYPES_ALL_MASK; 
    info.notificationTimeout = TIMEOUT_IN_MS; 
    setServiceInfo(info); 
    super.onServiceConnected(); 
} 

मैं इसे पूर्व लॉलीपॉप Android संस्करण पर, यह भी एंड्रॉयड एम पर जबकि एंड्रॉयड हे और एन पर, पुन: पेश कर सकते हैं सभी सेवाओं ठीक काम करते हैं।

क्या कोई मुझे बता सकता है कि यह कैसे हो सकता है, शायद एंड्रॉइड एन से कुछ सुधार हो रहे हैं? यदि उन्हें एक ही समय में काम करने का कोई तरीका है, तो क्या आप कृपया मुझे इसका कार्यान्वयन प्रदान कर सकते हैं?

उत्तर

2

आप वास्तव में केवल एक समय में दो एक्सेसिबिलिटी सेवाएं नहीं चला सकते हैं प्री एंड्रॉइड एन। हमेशा एक क्रैश होगा, और पृष्ठभूमि में चलने वाली एक बासी/डेमॉन सेवा तैयार करेगा, जो आपको क्रैश होने वाली सेवा को पुनरारंभ करने से रोकती है। यह कैसे काम करता है और यह क्या करता है इस से स्वतंत्र है। असल में, एंड्रॉइड इंस्ट्रुमेंटेशन टेस्ट के साथ चलने वाली नकली यूआईयूटोमेशन सेवा भी एक चल रही सेवा को दुर्घटनाग्रस्त कर देगी। इस सीमा के आसपास कोई रास्ता नहीं है।

+0

लेकिन कोई भी क्रैश नहीं हैं। – LeShChEnKoUa

+0

यह एएनआर पसंद नहीं करेगा, यह सिर्फ एक चेतावनी स्टैक ट्रेस प्रिंट करेगा और डेमॉन मोड में जाएगा। स्पष्टीकरण के लिए – ChrisCM

+0

धन्यवाद। – LeShChEnKoUa

संबंधित मुद्दे