如何检查我的自定义键盘是否已在设置中启用

Roy*_*son 7 android android-softkeyboard

我正在制作一个自定义软键盘.无论如何检查它是否已在设置中启用?

Pat*_*cky 8

检查以下代码: -

    String packageLocal = getPackageName();
    boolean isInputDeviceEnabled = false;
    InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
    List<InputMethodInfo> list = inputMethodManager.getEnabledInputMethodList();

    // check if our keyboard is enabled as input method
    for (InputMethodInfo inputMethod : list) {
        String packageName = inputMethod.getPackageName();
        if (packageName.equals(packageLocal)) {
            Toast.makeText(getApplicationContext(),"Your Keyboard Enable",Toast.LENGTH_SHORT).show();
        }
    }
Run Code Online (Sandbox Code Playgroud)

  • 我更喜欢这个答案,因为复制并粘贴到项目中非常简单! (2认同)

Roy*_*son 5

原来我只需要这样做:

 InputMethodManager im = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
   String list = im.getEnabledInputMethodList().toString();
   if(list.contains(<MY KEYBOARD ID>)){
   //Do something
   }
Run Code Online (Sandbox Code Playgroud)