2013-07-28 2 views
1

응용 프로그램에는 몇 가지 활동이 있고 일부 활동은 상위 버전에서만 실행됩니다. 그러나 활동이 mimeTypeintent-filter을 지원하기 때문에, 나는 그것의 발사에 아무 통제도 없다. 이 intent-filter을 갖는 활동처럼 활동에 대한 최소 SDK 버전 지원

 <intent-filter> 
      <action android:name="android.intent.action.VIEW" /> 

      <category android:name="android.intent.category.DEFAULT" /> 

      <data android:mimeType="image/*" /> 
     </intent-filter> 

이 낮아 버전이 출시 될 수있는 것보다 그렇지해야합니다. 예 : 활동이 버전 11 이상에서 실행되어야하지만 Android는 더 낮은 버전의 이미지 선택기 대화 상자에 계속 표시됩니다. 이 상황을 피할 수있는 방법이 있습니까?

답변

2

를 읽어 가야한다 XML 구성 전용 내가 안드로이드 API 데모에서 어떻게 이루어 졌는지 제안 해 줄 수 있습니다.

그들은 장애인 등 AndroidManifest를에 Activity를 선언하거나 @bool/atLeastHoneycombvalues-v11과 기본 values 폴더에 false로 true로 설정되어 단지 플래그입니다이 android:enabled="@bool/atLeastHoneycomb" 같은 API 버전에 따라 활성화 (당신은 안드로이드 API 데모를 확인하실 수 있습니다 , 내가 이전에 말했듯이, 자세한 내용은).

2

intent-filter과 함께 '컨트롤러'활동이 있어야합니다.

이 활동이 시작되면 현재 SDK 수준을 확인한 다음 인 텐트를 하위 또는 상위 SDK 활동으로 전달한 다음 finish() 자체를 전달합니다.

상황에 따라 나중에 태블릿을 3 번째 활동으로 안내하려는 경우 나중에 더 많은 유연성을 제공 할 수 있습니다.


또 다른 인수는 사용자의 활동이 SDK 레벨을 테스트하고 그냥이에 의존에서 Fragments를 교체해야 할 수 있습니다. 귀하의 활동은 SDK에 무관심하지만 정확한 파편이 표시되는 컨트롤러입니다.

참고 : 당신이 언급에서 보듯이 당신이 찾고 있다면

http://developer.android.com/training/basics/supporting-devices/platforms.html http://developer.android.com/training/basics/supporting-devices/platforms.html#version-codes

http://developer.android.com/training/backward-compatible-ui/abstracting.html

http://developer.android.com/training/backward-compatible-ui/using-component.html

, 당신은 교육 문서

+0

네,하지만 일부 inbuilt 지원을 찾고 있어요 :) – xmen

+2

그건 inbuilt 지원입니다. 마술 지팡이를 찾고 있는게 뭐야? – Blundell

+0

지팡이가 아닙니다 :) 그러나 일부 XML 태그가 있다면 멋질 것입니다. – xmen

관련 문제