2013-05-31 7 views
7

देता है मैं अपने नोट टैबलेट पर एंड्रॉइड वर्तनी जांच सेवा में निर्मित करने की कोशिश कर रहा हूं। जब मैंnewSpellCheckerSession हमेशा शून्य

final TextServicesManager tsm = (TextServicesManager) getSystemService(
      Context.TEXT_SERVICES_MANAGER_SERVICE); 
    spellCheck = tsm.newSpellCheckerSession(null, null, this, true);   

वर्तनी जांच हमेशा शून्य है। डिवाइस 4.1.2 है, इसलिए कम से कम शब्द सुझाव क्षमता होना चाहिए। क्या किसी ने मुझे कुछ पॉइंटर्स देने के लिए सीधे इस सेवा का उपयोग किया है? वेब इस बारे में बहुत अस्पष्ट है, क्योंकि यह आमतौर पर कीबोर्ड के माध्यम से आता है।

+0

आपको सुझाव शब्द कैसे प्राप्त हुए? यह मामला मेरे लिए एक पहेली है! –

+0

हो सकता है कि समाधान आपको अपनी वर्तनी जांच सेवा बनाना है? https://developer.android.com/guide/topics/text/spell-checker-framework.html –

+0

यह काम कर सकता है, लेकिन सैमसंग ने सेटिंग में से किसी एक को चुनने का विकल्प भी हटा दिया है। संभवतः अगर कोई स्थापित किया गया तो यह फिर से दिखाई देगा। लेकिन यह अच्छी तरह से करने के लिए बहुत काम है –

उत्तर

5

और मुझे जवाब मिला- सैमसंग ने इस मॉडल पर सुविधा को अक्षम कर दिया। तो मुझे या तो उपयोगकर्ताओं को 2 एपीके स्थापित करने और कुछ हुप्स कूदने के लिए मजबूर करना होगा, या पुस्तकालय को मेरे एपीके में स्रोत के रूप में शामिल करना होगा।

+0

मुझे आश्चर्य है, क्या आपने कभी इस डिवाइस के लिए कार्यक्षमता को बाहर रखा है या बस इसे देखा है? क्योंकि ऐसे कुछ डिवाइस हैं जहां यह कार्यक्षमता गुम है। – CodingIntrigue

+1

मैंने कार्यक्षमता को छोड़ दिया। कोई भी सैद्धांतिक रूप से इसे 2 एपीके के रूप में स्थापित कर सकता है, या संभवतः एओएसपी से ओपन सोर्स संस्करण ले सकता है और इसे सीधे इस्तेमाल कर सकता है। –

+0

@GabeSechan बहुत उपयोगी। आपने यह कैसे तय किया कि यह सेवा विशिष्ट मॉडल पर अक्षम है? मैं एक ही मुद्दे में भाग गया हूं और मैं यह आकलन करने की कोशिश कर रहा हूं कि हमारे डिवाइस पर आधारित हमारे कितने उपयोगकर्ता प्रभावित होंगे। – mmilleruva

1

आप स्थानीय को स्पष्ट रूप से सेट करना चाहते हैं, और अंतिम पैरामीटर को गलत पर सेट करना चाहते हैं, क्योंकि यह डिवाइस पर सक्रिय लोकल की जांच करता है।

final TextServicesManager tsm = (TextServicesManager) getSystemService(
     Context.TEXT_SERVICES_MANAGER_SERVICE); 
spellCheck = tsm.newSpellCheckerSession(null, Local.ENGLISH, this, false); 
+0

के बारे में निश्चित नहीं है यह वास्तव में काम करता है। कुछ कारणों से कुछ सैमसंग डिवाइस आपको वर्तनी सेटिंग्स तक पहुंचने नहीं देंगे (आप डिवाइस सेटिंग पर ईवेंट नहीं ढूंढ सकते हैं)। तो लोकेल निर्दिष्ट करना हमेशा बेहतर होगा। सेटिंग्स पर भाषा का चयन करने के लिए विकल्प को पसंदीदा रूप से जोड़ें और इसे लोकेल के रूप में उपयोग करें। – hmartinezd

+0

यह मेरे लिए काम नहीं करता है (सैमसंग गैलेक्सी ए 5 पर परीक्षण - पूर्व 2016 मॉडल)। –

+0

मोटो पर काम नहीं कर रहा है – JSONParser

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