2012-03-29 13 views
15

फ़ाइल का चयन करने के लिए ऐप चुनने के लिए "कार्रवाई समाप्त करें" चुनने के लिए उपयोगकर्ता को प्रोत्साहित करने के इरादे का उपयोग कैसे करें (मान लें कि डिवाइस में फ़ाइल ब्राउज़ करने के लिए कुछ ऐप है)फ़ाइल का चयन करने के लिए फ़ाइल ब्राउज़र चुनने के इरादे का उपयोग कैसे करें

मैं एक विस्तार .. का उपयोग कर फ़ाइल फ़िल्टर करना चाहते हैं (उदाहरण के लिए:। * .sav, * .props)

अग्रिम धन्यवाद

+0

यात्रा इस सूत्र के अनुसार कार्रवाई बदल सकता है, http://stackoverflow.com/questions/5537907/view -फाइल-पथ-इन-ए-फाइल-मैनेजर-ए-एंड्रॉइड-इरादा यदि मैं गलत नहीं हूं। यह आपकी मदद कर सकता है। –

उत्तर

39

आप कुछ इस तरह का उपयोग कर सकते हैं:

.... 
    Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
    intent.setType("file/*"); 
    startActivityForResult(intent, YOUR_RESULT_CODE); 
    .... 

बी मैं वास्तव में संदेह करता हूं कि आप फ़िल्टर तृतीय-पक्ष फ़ाइल ब्राउज़र सेट कर सकते हैं। या आप इस फ़ाइल का उपयोग करने का प्रयास कर सकते हैं संवाद: http://code.google.com/p/android-file-dialog/

+2

लिंक के लिए धन्यवाद .. :) यह वास्तव में सरल और उपयोगी फ़ाइलब्रोसर –

+6

है, मुझे इसके बजाय 'intent.setType (" */* ") 'का उपयोग करने की आवश्यकता है। कोई MIME प्रकार जो मुझे पता है'file/'से शुरू होता है। – Alicia

-5

// यहां किटकैट या नए संस्करण की जांच करें और यह सैमसंग फ़ाइल का पता लगाने के मुद्दे को भी हल करेगा।

boolean isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT; 
if (isKitKat) { 
    Intent intent = new Intent(); 
    intent.setType("*/*"); 
    intent.setAction(Intent.ACTION_GET_CONTENT); 
    startActivityForResult(intent,FILE_SELECT_CODE); 
} else { 
    Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
    intent.setType("*/*"); 
    startActivityForResult(intent,FILE_SELECT_CODE); 
} 
+9

कोड अगर/अन्य एक ही कर रहा है – roplacebo

6

यह उपलब्ध होने पर बिल्ड-इन फ़ाइल एक्सप्लोरर खोल देगा, अन्यथा आप एक फ़ाइल एक्सप्लोरर चुनने के लिए कहेंगे जो आपने स्थापित किया है।

private void showFileChooser() { 

    Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
    //intent.setType("*/*");  //all files 
    intent.setType("text/xml"); //XML file only 
    intent.addCategory(Intent.CATEGORY_OPENABLE); 

    try { 
     startActivityForResult(Intent.createChooser(intent, "Select a File to Upload"), FILE_SELECT_CODE); 
    } catch (android.content.ActivityNotFoundException ex) { 
     // Potentially direct the user to the Market with a Dialog 
     Toast.makeText(this, "Please install a File Manager.", Toast.LENGTH_SHORT).show(); 
    } 
} 
0

यह भी एक दस्तावेज़ फ़ाइल चुनने के लिए आप मदद कर सकते हैं और यू अपनी जरूरत

 Intent intent; 
     if (VERSION.SDK_INT >= 19) { 
      intent = new Intent("android.intent.action.OPEN_DOCUMENT"); 
      intent.setType("*/*"); 
     } else { 
      PackageManager packageManager =getActivity().getPackageManager(); 
      intent = new Intent("android.intent.action.GET_CONTENT"); 
      intent.setType("file*//*"); 
      if (packageManager.queryIntentActivities(intent,MEDIA_TYPE_IMAGE).size() == 0) { 
       UserToast.show(getActivity(), getResources().getString(R.string.no_file_manager_present)); 
      } 
     } 
     if (getActivity().getPackageManager().resolveActivity(intent, NativeProtocol.MESSAGE_GET_ACCESS_TOKEN_REQUEST) != null) { 
      startActivityForResult(intent, UPLOAD_FILE); 
     } 
संबंधित मुद्दे