2010-06-11 15 views
5

मैं एक ऐसा एप्लिकेशन बना रहा हूं जिसके लिए मुझे फोन के एसडी-कार्ड पर उपलब्ध सभी छवियों को सूचीबद्ध करने की आवश्यकता है।एंड्रॉइड सूची सभी छवियों को उपलब्ध

मैं ContentResolver तरह से क्वेरी करने की कोशिश की अर्थात

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

आप छवियों का चयन करने गैलरी गतिविधि इस्तेमाल कर सकते हैं, कुछ इस तरह: फ़ाइल uri आशय पैरामीटर

में होगा गतिविधि के लिए कॉलबैक में

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

+0

वाह! Thanx Fredrik ... वह वास्तव में जल्दी था ... कोशिश करेंगे यह आपको बताएगा ... – 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) सुनिश्चित करें कि आपका यूएसबी स्टोरेज माउंट नहीं किया गया है, यदि यह है कि आप कोई बाहरी छवियां नहीं देखेंगे।

2) शायद एक अनुमति समस्या है? यह देखने के लिए कि क्या यह बिल्कुल मदद करता है, GLOBAL_SEARCH अनुमति जोड़ने का प्रयास करें।

+0

वाह! मुझे यह भी कोशिश करनी है ... thanx दोस्त ... – JaVadid

+1

अच्छी तरह से जुबेट्रॉन मैं कहता हूं ... यू पूरी तरह से सही है। तब मैंने अपना कोडिंग काम नहीं किया ?? ठीक है मेब कुछ छोटी टाइपो गलती या मुझे लगता है ... thanx दोस्त – JaVadid

+1

पूरी तरह से काम करता है, बहुत बहुत धन्यवाद! –

संबंधित मुद्दे