2017-03-20 10 views
1

스택 오버플로를 검색했지만 똑같은 문제는 없습니다.openOptionsMenu가 minSdkVersion의 Lollipop Tablet에서 작동하지 않습니다. 16

내가 작업중인 앱은 기존 앱입니다. 이 앱은 이미지 아이콘을 탭하여 옵션 메뉴를 열어야합니다. 앱에서 작업 표시 줄을 사용하지 않습니다. 이 기능은 minSdkVersion을 16 양식 8로 올리기 전까지 장치에서 잘 작동했습니다. minSdkVersion을 16으로 올린 후 옵션 메뉴가 Lollipop Tablets에서 열리지 않습니다. 그것은 롤리팝 스마트 폰에서 잘 작동합니다.

무엇이 문제입니까? 해결 방법이 있습니까?

+0

'targetSdkVersion'이 무엇인가요? – CommonsWare

+0

설정하지 않았습니다. 단지 minSdkVersion을 16으로 설정하십시오. 또한 10으로 롤백하면 작동하지만 10 이상으로 설정하면 작동하지 않습니다. – LoveForDroid

+0

"설정하지 않았습니다"- 전혀 의미가 없습니다. 8로 설정하고 도움이되는지 확인하십시오. – CommonsWare

답변

2

항상에는 프로젝트에 대해 정의 된 targetSdkVersion이 있습니다. Android에 "이 코드를 작성할 때이 API 수준을 생각하고있었습니다."라고 알려줍니다. 안드로이드는 포워드 호환성의 선택적인 비트를 위해 안드로이드를 사용할 것이고, 새로운 디바이스의 런타임 동작을 이전에 생각했던 것과 조금 비슷하게 바꿀 것입니다.

정제는 절대로 옵션 메뉴를 사용하지 않습니다. Android 3.0부터 이전 옵션 메뉴가 작업 표시 줄로 마이그레이션되었습니다. targetSdkVersion이 없으면 Android는 minSdkVersiontargetSdkVersion으로 처리합니다. minSdkVersion/targetSdkVersion이 16 인 경우 액션 바 세계로 단단히 연결됩니다.

은 당신의 targetSdkVersion 8에 어떤 변화를 되돌려 야하는 그러나, 결국 무언가가 당신의 targetSdkVersion 더 높은 값으로 높이기 위해 손을 강제하는 것입니다 (16)

에 점프하여 minSdkVersion에 의해 적용되고 있었다 설정입니다. 1234의 targetSdkVersion을 영원히 고수 할 수 있다고 가정하지 마십시오. 다음 중 하나를

    작업 표시 줄에 사용자를 마이그레이션
  • , 또는
  • 자신의 옵션 메뉴 닮은 구현, 또는 현대적인 구현과 전체의 응용 프로그램을 대체 할
  • 계획, 또는
  • 계획에 앱 포기
+1

다시 좋은 답변입니다. – azizbekian