Jak wykryć obecność klawiatury sprzętowej?
Czy istnieje sposób na wykrycie, czy urządzenie, na którym aktualnie pracuję, ma zainstalowaną klawiaturę sprzętową?
Jak sprawdzić możliwości urządzenia?
2 answers
" flagi dostarczone przez getResources ().getConfiguration ().klawiatura to dobry sposób sprawdzania, która klawiatura (jeśli istnieje) jest dostępna." [1]
Http://d.android.com/reference/android/content/res/Configuration.html#keyboard
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-03-10 09:10:58
Użyj następującej metody, aby sprawdzić obecność twardej klawiatury w dowolnym momencie:
(Według mojej wiedzy, miękkie klawiatury wszystkie Brak Funkcje testowane poniżej )
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;
}
Opcjonalnie pułapka Wszystkie zmiany klawiatury w czasie uruchamiania dla każdej dotkniętej aktywności za pomocą AndroidManifest :
android:configChanges="keyboard|keyboardHidden|navigation"
Ale pamiętaj, aby wspierać powyższą zmianę manifestu (przynajmniej) atrapą onConfigurationChanged()
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Optionally employ 'isHardKB()'
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-14 08:10:39