2016-06-19 13 views
0

Ich schreibe eine benutzerdefinierte InputMethod von Grund auf neu und möchte der Benutzer einen Knopf in meinem Activity zeigen, meine ermöglichen InputMethod, falls es deaktiviert ist ...Wie kann man feststellen, ob ein `InputMethod` aktiviert ist?

müsste ich programmatisch um herauszufinden, ob mein InputMethod aktiviert ist im Gerät oder nicht.

Wie kann ich das tun?

Antwort

1

Sie können InputMethodManager verwenden, um die Liste der aktivierten InputMethodInfo zu erhalten und iterieren, um herauszufinden, ob Ihre InputMethod aktiviert ist oder nicht.

public boolean isMyInputMethodEnabled() { 
    boolean isEnabled = false; 

    InputMethodManager inputMethodManager 
      = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE); 
    List<InputMethodInfo> inputMethodList = inputMethodManager 
      .getEnabledInputMethodList(); 

    for (InputMethodInfo inputMethodInfo : inputMethodList) { 
     if (inputMethodInfo.getPackageName().equals(getPackageName())) { 
      isEnabled = true; 
      break; 
     } 
    } 

    return isEnabled; 
} 
Verwandte Themen