2010-06-11 3 views
5

휴대 전화의 SD 카드에있는 모든 이미지를 나열해야하는 응용 프로그램을 제작하고 있습니다.안드로이드 목록 사용 가능한 모든 이미지

난은 컨텐트 리졸버 방법 질의 시도 즉

Cursor image = getContentResolver().query(Images.Media.EXTERNAL_CONTENT_URI, new String[]{Images.Media._ID,Images.Media.DATA,Images.Media.DISPLAY_NAME}, null, null, null); 

있지만 결과없이

. 목록을 가져올 수있는 방법이 없나요? 아니면 가능하지 않은 경우 (예 : 피크) 사용자가 파일을 선택하고 사용자가 선택한 파일의 경로에 액세스하도록 허용 할 수 있습니까?

Helppppp들 ...

답변

1

당신은 이미지를 선택하기 위해 갤러리 활동을 사용할 수 있습니다, 이런 식으로 뭔가 :

Intent intent = new Intent(); 
intent.setType("image/*"); 
intent.setAction(Intent.ACTION_GET_CONTENT); 
startActivityForResult(Intent.createChooser(intent, "Select Picture"),SELECT_IMAGE); 

콜백의 활동에 대한 파일 URI를 의도 매개 변수

에있을 것입니다
+0

와우! 고맙습니다 프레드릭 ... 정말 빨랐어 요. 알겠습니다. – JaVadid

8
//where contextObject is your activity 
ContentResolver cr = contextObject.getContentResolver(); 

String[] columns = new String[] { 
       ImageColumns._ID, 
       ImageColumns.TITLE, 
       ImageColumns.DATA, 
       ImageColumns.MIME_TYPE, 
       ImageColumns.SIZE }; 
cur = cr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, 
       columns, null, null, null); 

내 코드는 당신의 코드와 거의 비슷하지만 작동합니다. 갤러리 인 텐트에 물건을 요청할 필요는 없습니다. 작동해야합니다. 내 추측은 다음과 같습니다.

1) 외부 이미지가 표시되지 않으면 USB 저장 장치가 마운트되지 않았는지 확인하십시오.

2) 사용 권한 문제 일 수 있습니까? GLOBAL_SEARCH 권한을 추가하여 도움이되는지 확인해보십시오.

+0

와우! 나는 이것도 시도해 봤는데 ... 고맙습니다 ... – JaVadid

+1

잘 Gubatron 나는 감히 ... U r은 완벽하게 맞습니다. 그렇다면 내 코딩 작업을하지 않았습니까 ?? 좋아, 일부 작은 오타 결점이나 내가 추측하는 것 같아요 ... 고맙습니다 친구 – JaVadid

+1

완벽하게 작동합니다, 많이 고마워요! –

관련 문제