2010-06-11 29 views
5

Telefonun SD-Kartında bulunan tüm görüntüleri listelememi gerektiren bir uygulama yapıyorum.Android tüm mevcut resimleri göster

i ContentResolver yol sorgulama güvenilir, yani

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

ancak herhangi bir sonuç olmadan

. Listeyi alabilmem için herhangi bir yol var mı, yoksa bu mümkün değilse, kullanıcının bir dosya seçmesine izin verebileceğim ve sonra kullanıcının seçtiği dosyanın yoluna erişebileceğim herhangi bir muhtemel niyet (örn. PICK) var mı?

İmdaaaaaat çocuklar ...

cevap

1

görüntüleri seçmek için galeri faaliyetini kullanabilirsiniz, böyle bir şey:

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

geri aramasında aktivite için dosya uri niyet parametre

olacak
+0

Vay canına! Thanx Fredrik ... bu gerçekten hızlıydı ... bunu deneyecek ... bilirsin ... – 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); 

Benim kodum tıpkı sizinki gibidir (bozuk olanlar hariç) ve işe yarıyor. Galeri Niyeti için bir şeyler sormaya gitmenize gerek yok, işe yaramalı. Benim iki tahminim:

1) USB depolama biriminin takılı olmadığından emin olun, eğer harici bir görüntü göremiyorsanız.

2) Belki bir izin sorunu var mı? Bunun yardımcı olup olmadığını görmek için GLOBAL_SEARCH iznini eklemeyi deneyin.

+0

vay! Bunu çok denemeliyim ... çok dert dostum ... – JaVadid

+1

iyi Gubatron diyebilirim ki ... Kesinlikle doğru. O zaman ben kodlama işim yoktu? ok mayb biraz küçük yazım hatası veya sanırım bir şey ... thanx dostum – JaVadid

+1

Mükemmel çalışır, çok teşekkürler! –

İlgili konular