2012-06-03 3 views
2

최근 Android 버전에서는 기기에 소프트웨어 또는 하드웨어 버튼이있을 수 있습니다. 내 응용 프로그램을 실행중인 장치의 경우 어떤 것인지 확인하고 싶습니다.기기에 소프트 키가 있는지 알아보십시오.

일부 배경 정보 : 화면에 표시되는대로 소프트 키를 숨길 수는 있지만 사용자가 화면에 닿으면 자동으로 표시됩니다. 이제 하드웨어 키가있는 장치에서 동일한 작업을 수행하는 경우 소프트 키가 다시 표시되는 것처럼 첫 번째 터치가 시스템에서 여전히 잡히지 만 아무 것도 없기 때문에 아무 것도 일어나지 않으며 터치 이벤트가 응용 프로그램에 전달되지 않습니다. KEYBOARD_NOK에 대한

  • KEYBOARD_NOKEYS
  • KEYBOARD_QWERTY
  • KEYBOARD_12KEY

검사 :

키보드 - 질문에 대한

답변

3

ViewConfiguration.hasPermanentMenuKey()을 사용하여 메뉴 키를 확인할 수 있습니다.

+0

감사합니다. 훌륭한 작품입니다. (이 점은 SDK> = 14에서만 작동한다는 것을 명심하십시오.) – Julian

+0

맞습니다.하지만 API 레벨을 낮추면 답을 얻을 수 있다고 생각합니다. <= 10은 항상 하드웨어 버튼이 있어야하며 벌집 태블릿에는 물리적 버튼이 없어야합니다. – Gubbel

+1

이것은 대답이 잘못되었습니다. 설명서에 '장치에 영구 메뉴 키가 있음을보고합니다'라는 메시지가 표시되지 않습니다. 소프트 키가 존재하지 않는 것이 아닙니다. – xedo

0

당신에게 다음 중 하나를 제공

getResources().getConfiguration().keyboard 

시도 EYS.

+0

* 출처 : http://developer.android.com/reference/android/content/res/Configuration.html#keyboard – libjup

+0

글쎄, 키보드 용이지만, 나는이 버튼이 있어야한다. 이 스크린 샷의 빨간색 상자에서 확인하십시오. http://i.imgur.com/7QiKu.png – Julian

+0

죄송합니다. 질문에 대한 오해가 있었을 것입니다. 방금 docu를 확인했지만 안드로이드 API가 그런 기능을 제공하는지 잘 모르겠습니다. – libjup

관련 문제