2011-04-04 18 views
5

के रूप में फ़ाइल प्रबंधक में फ़ाइल पथ देखें बस इतना ही पता है कि मैंने पहले ही एंड्रॉइड डेवलपर दस्तावेज़ और OpenIntents दोनों को उत्तर दिए बिना जवाब दिया है। हालांकि, मैं आसानी से कुछ याद किया होगा।एंड्रॉइड इरादे

क्या फ़ाइल प्रबंधक में फ़ाइल पथ देखने के लिए कोई इरादा कार्रवाई है? Android फ़ाइल प्रबंधक ऐप्स के बीच मानकीकरण के तरीके में बहुत कम लगता है। इरादा पूरा होने पर मुझे कोई असामान्य व्यवहार नहीं चाहिए, और यदि कोई फ़ाइल मैनेजर स्थापित नहीं है तो इसे किसी अन्य तरीके से फ़ाइल पथ को क्रियान्वित करने की बजाय कुछ भी नहीं करना चाहिए।

मेरा प्रारंभिक शोध बताता है कि यह शायद वर्तमान में संभव नहीं है, लेकिन मैंने सोचा कि मैं देखता हूं कि कोई बेहतर जानता है या नहीं। वे आमतौर पर करते हैं।

स्पष्टीकरण के लिए संपादित: मैं एक फ़ाइल पिकर की तलाश नहीं कर रहा हूं। मेरे पास पहले से एक फ़ाइल पथ है और फ़ाइल प्रबंधक/फ़ाइल ब्राउज़र में ब्राउज़ करने के लिए इसे खोलना चाहते हैं, अगर केवल डिवाइस पर कोई इंस्टॉल किया गया हो।

उत्तर

9

मैं निम्नलिखित है ...

 Intent intent = new Intent(); 
     intent.addCategory(Intent.CATEGORY_OPENABLE); 
     intent.setType("text/csv"); 
     intent.setAction(Intent.ACTION_GET_CONTENT); 
     startActivityForResult(Intent.createChooser(intent, getText(R.string.select_file)),1); 

और फिर onActivityResult()

 currFileURI = data.getData(); 
     filename_editText.setText(currFileURI.getPath()); 

अद्यतन: समाधान:

public static boolean isUriAvailable(Context context, String uri) { 
    Intent test = new Intent(Intent.ACTION_VIEW, Uri.parse(uri)); 
    return context.getPackageManager().resolveActivity(test, 0) != null; 
} 
+0

यह एक फ़ाइल पिकर का है, जो isn 'की तरह दिखता है वास्तव में मैं क्या कर रहा हूँ। मैं सिस्टम से कहना चाहता हूं "यहां एक फ़ाइल पथ है; इसे फ़ाइल मैनेजर ऐप (जैसे ईफाइल या एंडएक्सप्लोरर या जो कुछ भी) में खोलें, या यदि आपके पास फ़ाइल मैनेजर स्थापित नहीं है, तो कुछ भी नहीं करें"। –

+0

आप सही हैं। यह वही है जो यह करता है। मैं केवल उम्मीद कर रहा था कि यह आपको आपके उत्तर की ओर इशारा देगा। क्षमा करें अगर यह सहायक नहीं है। मैं देखूंगा कि क्या मैं पथ में जा सकता हूं और फ़ाइल प्रबंधक खोल सकता हूं। आप निश्चित रूप से, बदले में कुछ भी मांगे बिना फ़ाइल प्रबंधक शुरू कर सकते हैं। –

+1

क्षमा करें। मैंने आपकी प्रतिक्रिया थोड़ा जल्दी से तय की, और यह लगभग निश्चित रूप से मेरी अपनी अज्ञानता है जो रास्ते में हो रही है। मैंने आपके उपरोक्त कोड को एक उपयोगकर्ता को CSV फ़ाइल चुनने के लिए एप्लिकेशन की पसंद के लिए प्रेरित करने के रूप में पढ़ा है। आप सुझाव दे रहे हैं कि मैं एक ऐसा इरादा बना सकता हूं जो उपयोगकर्ता को ऐसे एप्लिकेशन का चयन करने की अनुमति दे जो _could_ फ़ाइल के प्रकार को चुनता है, और उसके बाद एप्लिकेशन खोलें। सही? –

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