Déterminer si un clavier personnalisé est activé dans Android Studio (Java)

J'ai fait un clavier personnalisé, mais je ne peux pas juger de la validité!

Je développais un clavier personnalisé avec Android Studio à diverses fins, et bien que j'aie créé le clavier lui-même, je ne pouvais pas trouver un moyen de déterminer la validité de l'IME.

Ce que je voulais faire, c'était qu'une application de clavier afficherait une alerte lorsque le clavier n'était pas activé dans l'application, passerait aux paramètres et essayerait d'activer IME. droite.

ne sait pas?

... eh bien, alors ça ne peut pas être aidé.

Je voulais faire ça pour le moment.

Je laisserai le code sous forme de mémorandum. Au fait, j'aime le fait que je l'ai développé avec java au lieu de kotlin.

En fait ce n'était pas si difficile

Jetons un coup d'œil au code immédiatement.

hoge.java


//Obtenez une liste des applications IME installées
InputMethodManager imm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
List<InputMethodInfo> inputMethodInfoList = imm.getEnabledInputMethodList();

for (int i = 0; i < inputMethodInfoList.size(); ++i) {

     InputMethodInfo inputMethodInfo = inputMethodInfoList.get(i);
     CharSequence label = inputMethodInfo.loadLabel(getPackageManager());

    if(String.valueOf(label).equals("hoge_keyboard")) {

         Log.v("label", String.valueOf(label) + " is active!");

    }
}

Eh bien, ça ressemble à ça. Je ne suis qu'un débutant qui vient de commencer à développer Android, il y a donc peut-être un meilleur moyen.

L'instruction if est affichée dans le journal lorsque le nom du clavier correspond à hoge_keyboard. Ce n'est pas grave si vous pouvez modifier le nom que vous souhaitez associer et le contenu de l'instruction if en fonction de votre code.

J'espère que cela aide les gens qui font face à des problèmes similaires.

Recommended Posts

Déterminer si un clavier personnalisé est activé dans Android Studio (Java)
Qu'est-ce qu'une classe en langage Java (3 /?)
Qu'est-ce qu'une classe en langage Java (1 /?)
Qu'est-ce qu'une classe en langage Java (2 /?)
De Java à C et de C à Java dans Android Studio
Mémo: [Java] Si un fichier se trouve dans le répertoire surveillé, traitez-le.
[Android / Java] Exploitez une base de données locale dans la salle
J'ai un symbole de résolution impossible dans Android Studio
Sortie true avec if (a == 1 && a == 2 && a == 3) en Java (identifiant invisible)
Remarques sur le studio Android
Java11: exécuter le code Java dans un seul fichier tel quel
Reportez-vous à C ++ dans le module Android Studio (Java / kotlin)
Utiliser un JDK d'un autre fournisseur OpenJDK dans Android Studio
Lire les données WAV sous forme de tableau d'octets sur Android Java
Vous utilisez actuellement Java 6. Solution dans Android Studio Gradle
Rechercher un sous-ensemble en Java
Java avec Visual Studio Code
J'ai essayé de créer une application cartographique simple dans Android Studio
Source pour afficher le tableau de caractères avec numberPicker dans Android Studio (Java)
3 Implémentez un interpréteur simple en Java
J'ai créé un PDF avec Java.
Quelle est la lenteur du scanner Java?
Insérez automatiquement `@ SuppressWarnings` dans Android Studio
OkHttp3 (GET, POST) dans Android Studio
Essayez une expression If en Java
[Android Studio] [Java] Mémos et liens d'apprentissage
Un exemple simple de rappels en Java
Qu'est-ce qu'un extrait de code en programmation?
Le calendrier Java n'est pas un singleton.
Qu'est-ce qu'une expression lambda (Java)
Restez coincé dans un Java Primer
Réintroduction de Java8, disponible depuis Android Studio 2.4
[Kotlin / Android] Créer une vue personnalisée
[Java] Le branchement conditionnel est une instruction if, mais il existe également un opérateur conditionnel.