2011-11-24 2 views
1

사용자가 갤러리에서 이미지를 선택할 수있는 응용 프로그램을 개발 중이지만 가능한 경우 이미지 나 비디오를 선택할 수 있기를 바랍니다. .기기에 갤러리에서 "media/*"를 고르는 응용 프로그램이 있는지 확인하십시오.

내가 변경 지금까지 경우 :

Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
intent.setType("image/*"); 

에 :

Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
intent.setType("media/*"); 

갤러리가 표시되지에서 선택하는 옵션하지만, 다른 프로그램 (ASTRO 등) 표시

장치에 미디어를 선택하는 다른 프로그램이 있는지 여부를 프로그래밍 방식으로 감지 할 수있는 방법이 있습니까? * 또는 어떤 유형을 의도로 설정할 것인지 선택할 수 있습니까?

답변

1

PackageManager을 호출하여이 콘텐츠 유형을 처리하는 응용 프로그램을 알 수 있습니다.

Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
intent.setType("media/*"); 
final PackageManager packageManager = getPackageManager(); 
List<resolveinfo> list = packageManager.queryIntentActivities(intent, 0); 

거기에서 목록 크기를 확인하거나 목록에 주어진 패키지 이름이 포함되어 있는지 확인하고 적절한 조치를 취할 수 있습니다.

+0

관련 주제에서 [기본 트위터 클라이언트를 선택하는 방법]에 대한 블로그 게시물을 작성했습니다 (http://regis.decamps.info/blog/2011/06/intent-to-open-twitter-client). -on-android /) – rds

+0

고마워! 그것은 일했다 :) – SERPRO