Как проверить, есть ли в телефоне аппаратная кнопка меню в Android 2.1?
Я пытаюсь выяснить, есть ли на телефоне Android аппаратная кнопка меню, я искал и нашел этот метод:
ViewConfiguration.get(getApplicationContext()).hasPermanentMenuKey();
Но, похоже, это не работает в Android 2.1, и я пытаюсь создать приложение, которое работает на Android 2.1 и выше. Можно ли определить, есть ли на телефоне аппаратная кнопка с версией Android менее 3.0?
3 ответа
Каждое совместимое устройство Android 2.1 имело клавишу меню, поскольку оно было частью CDD:
http://source.android.com/compatibility/2.1/android-2.1-cdd.pdf
Смотрите раздел 8.7:
"Функции" Домой "," Меню "и" Назад "имеют важное значение для парадигмы навигации Android. Реализации устройств ДОЛЖНЫ делать эти функции доступными для пользователя всегда, независимо от состояния приложения".
Поэтому, если устройство работает под управлением Android 2.1, можно предположить, что оно имеет клавишу меню. Если он работает в более поздней версии, вы можете использовать API, который вы нашли.
hasPermanentMenuKey()
был введен начиная с уровня API 14, потому что в Android 3.0 устройствам было запрещено иметь клавишу меню. поэтому я предполагаю, что вы можете смело предположить, что на устройстве 2.1 будет иметься кнопка меню. Проверьте андроид документацию по этому вопросу. Конфигурация представления Android имеет PermanantMenuKey
hasPermanentMenuKey()
стал доступен на уровне API 14 (3.0). Я полагаю, можно с уверенностью предположить, что есть ключ на устройствах под управлением ниже 3.0. Выше 3.0 вы можете вызвать этот метод, чтобы определить, нужно ли предоставлять альтернативный метод.