Ответ 1
ViewConfiguration.get(context).hasPermanentMenuKey()
Подробнее см. ViewConfiguration#hasPermanentMenuKey()
. Обратите внимание, что это доступно только для уровня API 14+ (Android 4.0 Ice Cream Sandwich или новее).
В настоящее время я борюсь с этой проблемой. Мне нужно проверить, есть ли на устройстве, где установлено приложение, ключ аппаратного меню. Поскольку он не существует на некоторых устройствах, таких как Galaxy Nexus, я показываю его непосредственно в пользовательском интерфейсе в этом случае.
Я уже посмотрел PackageManager.hasSystemFeature(), но не нашел там ничего полезного.
Кто-нибудь уже это сделал?
ViewConfiguration.get(context).hasPermanentMenuKey()
Подробнее см. ViewConfiguration#hasPermanentMenuKey()
. Обратите внимание, что это доступно только для уровня API 14+ (Android 4.0 Ice Cream Sandwich или новее).
if(Build.VERSION.SDK_INT <= 10 || (Build.VERSION.SDK_INT >= 14 &&
ViewConfiguration.get(this).hasPermanentMenuKey()))
{
// menu key is present
}
else
{
//No menu key
}
Даже на устройствах, на которых работает Honeycomb, а затем система будет поставлять "кнопку меню" для приложений, написанных для версий 2.x Android. Только его называют "меню переполнения". Так что не стоит проверять, будет ли такая кнопка или нет - она будет там, если это необходимо.
В качестве общего руководства вы должны проверить определенную функциональность, а не смотреть номера версий системы /API. Используйте класс ActionBar, если он доступен, в противном случае - в меню опций 2.x.
Посмотрели ли вы на учебник по учебным курсам Googles? Это делает более ясным, что вы должны делать.
Я думаю, что возможным и лучшим решением является добавление собственной панели действий. Поэтому каждое устройство может его увидеть, и вам не нужно проверять конфигурацию оборудования или версию Api.
keysoft qualifier используется для обнаружения аппаратной клавиатуры, а не панели навигации.
В этой статье решается:
Если вам нужен квалификатор ресурса, который может иметь место, так как вы хотите различать пользовательские интерфейсы, используйте keyssoft
классификатор ресурсов.