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.
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