5

मैं नए Kitkat संग्रहण एक्सेस फ़्रेमवर्क (एसएएफ) का उपयोग कर रहा सैमसंग उपकरणों पर दस्तावेजों प्रदर्शित नहीं करता है काम नहीं कर रहा। एस 5 या नोट 3 पर कुछ भी नहीं दिखता है। वीडियो (वीडियो/*) के लिए भी यही होता है। मैंने लाभ उठाने के लिए / जैसे विभिन्न पैटर्न भी कोशिश की।किटकैट ACTION_OPEN_DOCUMENT

यह एक सैमसंग मुद्दा जैसा दिखता है जिसे उनके द्वारा संबोधित किया जाना चाहिए, मैं बस सोच रहा हूं कि कोई कामकाज जानता है या नहीं।

उत्तर

1

मैं अपने गैलेक्सी एस 4 पर एक ही था, और केवल वैकल्पिक हल मैंने पाया पुराने तरीके का पुन: उपयोग करने के लिए था:

Intent photoPickerIntent = new Intent();  
photoPickerIntent.setAction(Intent.ACTION_GET_CONTENT); 
photoPickerIntent.setType("image/*"); 
startActivityForResult(photoPickerIntent, 0); 

लेकिन मुझे लगता है कि आप पहली बार किसी विशिष्ट डिवाइस पर होना सुनिश्चित होना चाहते हैं के बाद से, यह अन्य उपकरणों पर Intent.ACTION_OPEN_DOCUMENT के साथ अच्छी तरह से काम करता है ... (मैंने एंड्रॉइड 4.4.2 के साथ विको सिंक स्लिम और नेक्सस 5 पर कोशिश की)।

आशा है कि यह आप

+0

इसके लिए धन्यवाद। यह भी "वर्कअराउंड" है जिसका मैं अभी उपयोग कर रहा हूं लेकिन मुद्दा यह है कि पुराने तरीके से बहु-चयन संभव नहीं है। यदि कोई कुछ बेहतर तरीके से नहीं आता है तो मैं इसे उत्तर के रूप में चिह्नित करूंगा। – frapim

8

मैं Samsung Galaxy S4 पर एक ही मुद्दे का सामना करना पड़ रहा था मदद करता है। मेरे शोध के दौरान मुझे पता चला कि आकाशगंगा एस 4 मीडिया दस्तावेज़ प्रदाता का समर्थन नहीं कर रहा था। मीडिया प्रदाता इंटरफ़ेस से पूछताछ करके इसे हल किया। मैंने यही किया:

private void launchGallery() 
{ 
    final Intent intent = new Intent(); 
    // Api 19 and above should access the Storage Access Framework 
    if (isMediaProviderPresent()) 
     intent.setAction(Intent.ACTION_OPEN_DOCUMENT); 
    else 
     intent.setAction(Intent.ACTION_GET_CONTENT); 
    intent.setType("image/*"); 
    intent.addCategory(Intent.CATEGORY_OPENABLE); 

    // Multi Picking is supported on api 18 and above. 
    if (isApi18Above()) 
     intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true); 

    startActivityForResult(Intent.createChooser(intent,"chooser"), 
     RESULT_PHOTO_FROM_GALLERY); 
} 


private boolean isMediaProviderSupported() 
{ 
    if(isApi19Above()) 
    { 
     final PackageManager pm = getActivity().getPackageManager(); 
     // Pick up provider with action string 
     final Intent i = new Intent(DocumentsContract.PROVIDER_INTERFACE); 
     final List<ResolveInfo> providers = pm.queryIntentContentProviders(i, 0); 
     for (ResolveInfo info : providers) 
     { 
      if(info != null && info.providerInfo != null) 
      { 
       final String authority = info.providerInfo.authority; 
       if(isMediaDocumentProvider(Uri.parse("content://"+authority))) 
        return true; 
      } 
     } 
    } 
    return false; 
} 

    private static boolean isMediaDocumentProvider(final Uri uri) 
    { 
     return "com.android.providers.media.documents".equals(uri.getAuthority()); 
    } 
+0

उत्तर के लिए धन्यवाद। मुझे नहीं लगता कि "Intent.EXTRA_ALLOW_MULTIPLE" पुरानी कार्रवाई का उपयोग करते समय काम करता है, है ना? – frapim

+1

@frapim यह Google+ फ़ोटो पर काम करता है, लेकिन अन्य ग्राहकों में नहीं। – AjayV

+0

इसके अलावा, अगर आपको यह जवाब पसंद है तो क्या आप कृपया ऊपर उठा सकते हैं? – AjayV

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