मैं गैलरी से एक छवि का चयन करने के लिए ACTION_PICK
इरादा का उपयोग कर रहा हूं। "पोस्ट", "प्रोफ़ाइल तस्वीरें" आदि जैसे कुछ एल्बम Picasa आइकन के साथ चिह्नित हैं। इस तरह के एलबम से छवियों के लिए मैं एक URI इस के समान मिलती है:यूआरआई से पिकासा छवि कैसे लोड करें?
content://com.google.android.gallery3d.provider/picasa/item/5769844615871490082
मुझे कोई समस्या नहीं के साथ ContentResolver
और BitmapFactory
का उपयोग कर इस URI से एक छवि लोड कर सकते हैं:
final InputStream ist = context.getContentResolver().openInputStream(intent.getData());
final Bitmap bitmap = BitmapFactory.decodeStream(ist);
लेकिन मैं लोड करने में असमर्थ हूँ एप्लिकेशन को पुनरारंभ करने के बाद संग्रहीत यूआरआई का उपयोग कर एक छवि। जब decodeStream()
कहा जाता है मैं इस हो रही है:
03-11 12:34:56.502: A/libc(1172): Fatal signal 11 (SIGSEGV) at 0x00000408 (code=1), thread 1462 03-11 12:34:56.502:
W/ActivityManager(478): Permission Denial: opening provider
com.android.gallery3d.provider.GalleryProvider from
ProcessRecord{41cdd220 1172:com.mycompany.myapp/u0a10085}
(pid=1172, uid=10085) requires
com.google.android.gallery3d.permission.GALLERY_PROVIDER or
com.google.android.gallery3d.permission.GALLERY_PROVIDER
मैं मैनिफ़ेस्ट फ़ाइल को
<uses-permission android:name="com.google.android.gallery3d.permission.GALLERY_PROVIDER"/>
जोड़ने की कोशिश की, लेकिन यह मदद नहीं की।
मुझे लगता है कि मेरी समस्या this one के समान है, लेकिन कोई समाधान नहीं दिया गया है, केवल एक कामकाज है। क्या संग्रहीत यूआरआई तक पहुंचने की अनुमति का अनुरोध करना संभव है?
सामग्री यूआरआई समय-सीमित है, और ACTION_PICK के संदर्भ में केवल काम सबसे अधिक संभावना कर रहे हैं की तरह इनपुट स्ट्रीम खोलने का प्रयास करें। आपको अपने ऐप में छवि को कैश करने की आवश्यकता होगी, क्योंकि इस बात की कोई गारंटी नहीं है कि सामग्री बाद में भी उपलब्ध है। – 323go
मैं कसम खाता हूं कि एक ही समस्या में आईओ गोना दौड़ें, फिर से पसंदीदा – JRowan
क्या आपको इसके लिए कोई समाधान मिला? मैं भी ऐसी ही समस्या का सामना कर रहा हूँ। –