Existe-t-il un moyen de détecter si le périphérique sur lequel je fonctionne actuellement a un clavier matériel installé ?
Comment puis-je interroger les capacités d'un appareil de toute façon ?
Existe-t-il un moyen de détecter si le périphérique sur lequel je fonctionne actuellement a un clavier matériel installé ?
Comment puis-je interroger les capacités d'un appareil de toute façon ?
[Android-developers] Re : Détecter le clavier physique Layout (ex : QWERTY vs QWERTZ)
Les drapeaux fournis par getResources().getConfiguration().keyboard sont un un bon moyen de vérifier quel clavier est disponible (le cas échéant).
Utilisez la méthode suivante pour vérifier la présence du clavier dur à tout moment :
(A ma connaissance, les claviers souples tous absence de les caractéristiques testées ci-dessous )
public static boolean isHardKB(Context ctx) {
Configuration cf = ctx.getResources().getConfiguration();
return cf.navigation==Configuration.NAVIGATION_DPAD
|| cf.navigation==Configuration.NAVIGATION_TRACKBALL
|| cf.navigation==Configuration.NAVIGATION_WHEEL;
}
Possibilité de piéger todo les modifications du clavier en cours d'exécution pour chaque activité concernée via AndroidManifestes :
android:configChanges="keyboard|keyboardHidden|navigation"
Mais assurez-vous de soutenir le changement de manifeste ci-dessus avec (au moins) un mannequin. onConfigurationChanged()
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Optionally employ 'isHardKB()'
}
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.