2014-09-03 6 views
6

समस्या यह है कि जब मैं अपनी गतिविधि लॉन्च करता हूं तो एक लंबी स्ट्रिंग संदेश पढ़ने के लिए टीटीएस का उपयोग कर रहा हूं, लेकिन TalkBack स्वचालित रूप से इसके बीच में एप्लिकेशन नाम पढ़ता है और लंबी स्ट्रिंग को काटता है और बहुत परेशान है।एंड्रॉइड - एप्लिकेशन को पढ़ने के लिए टॉकबैक को रोकना नाम और वर्तमान ओरिएंटेशन

मैं TalkBack को अक्षम करना चाहते हैं आवेदन नाम एक गतिविधि शुरू की है हर बार पढ़ें। अपने एंड्रॉइड को हटा रहा है: लेबल विशेषता एक व्यवहार्य समाधान नहीं है क्योंकि एप्लिकेशन किसी और द्वारा नियंत्रित होता है और मेरे पास इसका कोई नियंत्रण नहीं है।

तो, क्या कोई एपीआई है जिसे मैं टॉकबैक सुविधा को एप्लिकेशन नाम लॉन्च करने से रोकने के लिए कॉल कर सकता हूं?

किसी भी मदद की अत्यधिक सराहना की जाएगी।

बहुत पहले से धन्यवाद।

सादर, अशोक

+0

जब आप कहते हैं कि "आवेदन किसी और के द्वारा नियंत्रित किया जाता है," आप अभी भी Activity.onCreate में कोड जोड़ने में सक्षम हैं()? – alanv

+0

हां। मेरे पास गतिविधि पर नियंत्रण है, लेकिन एप्लिकेशन की मैनिफेस्ट फ़ाइल पर नहीं। – ASingal

उत्तर

1

तो, वहाँ किसी भी एपीआई कि मैं आवेदन नाम पढ़ने जब एक आवेदन शुरू की है से TalkBack सुविधा को रोकने के लिए कह सकते हैं है?

ऐसा नहीं है कि मुझे पता है।

समस्या यह है कि मैं अपनी गतिविधि लॉन्च होने पर एक लंबे स्ट्रिंग संदेश को पढ़ने के लिए टीटीएस का उपयोग कर रहा हूं, लेकिन टॉकबैक स्वचालित रूप से इसके बीच में एप्लिकेशन नाम पढ़ता है और लंबी स्ट्रिंग में कटौती करता है और बहुत परेशान होता है।

फिर टॉकबैक के मानक घोषणाओं के लिए समय देने के लिए, अपने "लंबे स्ट्रिंग संदेश" को थोड़ा सा देरी करें।

+0

मैंने बिल्कुल वही किया है, लेकिन मैं सोच रहा था कि इस मुद्दे को संभालने का कोई अन्य तरीका है या नहीं। आपके जवाब के लिए धन्यवाद। वास्तव में सराहना। – ASingal

6

एक समाधान गतिविधि में dispatchPopulateAccessibilityEvent() ओवरराइड करने के लिए सही वापस जाने के लिए किया जाएगा। यह टॉकबैक को गतिविधि लेबल की घोषणा करने से रोक देगा।

0
<activity 
      android:name="com.mobile.myapp.test" 
      android:label="About" 
      android:screenOrientation="portrait" /> 

छोड़ें एंड्रॉइड: यदि आप टॉकबैक गतिविधि नाम पढ़ने के लिए नहीं चाहते हैं तो लेबल खाली करें।

+2

लेबल खाली छोड़ते समय एप्लिकेशन का नाम उपयोग किया जाता है। – userM1433372

1

लेकिन लांचर Activity की onCreate

ViewCompat.setImportantForAccessibility(getWindow().getDecorView(),ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_NO); में इस लाइन यह मेरे लिए काम करते हैं।

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