संक्षिप्त प्रश्न: क्या यह सेवा से सॉफ्ट-कीबोर्ड प्रदर्शित करना संभव है (और कैसे)?सेवा से सॉफ्ट कीबोर्ड कैसे प्रदर्शित करें?
लंबे प्रश्न: मैंने एक ऐसी सेवा लिखी जो एक "टॉप बार" बनाता है, जो सभी गतिविधियों के शीर्ष पर प्रदर्शित होता है, जिसमें एडिटटेक्स्ट होता है। जब मैं एडिटटेक्स्ट क्लिक करता हूं तो मैं सॉफ्ट-कीबोर्ड प्रदर्शित करना चाहता हूं, लेकिन यह नहीं हो रहा है। , गतिविधि बढ़ा कर
InputMethodManager imm = (InputMethodManager)this.getSystemService(Service.INPUT_METHOD_SERVICE);
imm.showSoftInput(editText, InputMethodManager.SHOW_FORCED);
वैकल्पिक हल मैं के साथ आया था कुंजीपटल दिखाने के लिए वर्तमान गतिविधि का अनुरोध करने के लिए है:
बेशक मैं सेवा के onFocusChange() और onClick() से इस की कोशिश की है कक्षा और एक एआईडीएल इंटरफ़ेस जोड़ना। दोष यह है कि प्रत्येक कुंजी घटना को सेवा (अन्य एआईडीएल इंटीफेस के माध्यम से) पर वापस भेजना पड़ता है और मैन्युअल रूप से यूनिकोड में परिवर्तित किया जाता है।
इसके अलावा, अगर वर्तमान गतिविधि एक EditText होता है, नरम कुंजीपटल केवल गतिविधि के लिए काम करता है और जब सेवा के EditText चयन किया जाता है अब और दिखाई नहीं देता।
यदि वर्तमान गतिविधि में संपादन टेक्स्ट है तो सेवा के सॉफ्ट-कीबोर्ड को प्रदर्शित करने से रोकता है? क्या यह एंड्रॉइड सीमा हो सकती है?
आप इस हल किया है? मुझे एक ही समस्या का सामना करना पड़ रहा है –