2010-04-30 41 views
14

我有一個應用程序,我想警告用戶,如果他們不使用默認的Android軟鍵盤。 (即他們正在使用Swype或其他一些東西)。如何確定Android中的當前IME?

如何檢查他們當前選擇的輸入法?

回答

24

你可以得到一個默認的輸入法,使用:

Settings.Secure.getString(getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD); 
+0

它不適用於我:( 它返回null – 2016-02-15 09:52:42

5

InputMethodManagergetEnabledInputMethodList()。您在Activity中從getSystemService()獲得InputMethodManager

+0

我看到了和返回的輸入法是提供給用戶一個名單 - 但我似乎無法弄清楚如何確定哪些目前選擇一個。 – jkhouw1 2010-04-30 14:09:56

+0

不幸的是,我現在唯一能做的就是檢查getEnabledInputMethodList返回的List的長度,如果> 2,警告他們如果他們不使用默認的IME,他們可能會有問題。任何人有任何其他的指針/想法? – jkhouw1 2010-04-30 19:57:54

+0

您可能會考慮開放一個關於您認爲您將使用Swype的用戶遇到的問題的新問題,並找出如何解決該問題。畢竟,我懷疑隨着Android進入其他市場(例如電視/機頂盒),「默認輸入法」的範圍會擴大。因此,我真的推薦我們找出如何得到它,所以你不在乎他們使用的IME。 – CommonsWare 2010-04-30 20:28:34