2012-04-21 13 views
5

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

मैं फ़ाइल को बाध्य करने और इरादे के विस्तार के द्वारा फ़ाइल खोलने के लिए गतिविधि शुरू कर रहा हूं।

Intent intent = new Intent(Intent.ACTION_VIEW); 
MimeTypeMap mime = MimeTypeMap.getSingleton(); 
String ext = file.getName().substring(file.getName().lastIndexOf(".") + 1); 
String type = mime.getMimeTypeFromExtension(ext); 
intent.setDataAndType(Uri.fromFile(new File(file.toString())), type); 
try 
{ 
    startActivity(intent); 
} 
catch(Exception e){} 

उत्तर

4

ActivityNotFound फेंक दिया गया है जब कोई एप्लिकेशन पंजीकृत नहीं है जो विशिष्ट फ़ाइल प्रकार को संभाल सकता है। इसका अर्थ यह है कि आप जिस ऐप को दिखाना चाहते हैं उसकी सूची खाली होगी।

ActivityNotFound अपवाद को पकड़ने के लिए सबसे उपयुक्त तरीका है और उपयोगकर्ता को सूचित करने के लिए एक टोस्ट दिखाएं, फ़ाइल खोलने के लिए कोई उचित अनुप्रयोग नहीं है।

सभी एंड्रॉइड ब्राउज़र इस तरह आगे बढ़ते हैं।

+0

Asus फ़ाइल प्रबंधक (4.4) देना है सूची एक सामान्य "के रूप में खोलें" जेनेरिक श्रेणियों (पाठ, छवि, ऑडियो, वीडियो) का प्रतिनिधित्व करने वाली चार वस्तुओं के साथ। एक का चयन करने से फ़ाइल को खोलने के लिए संबंधित ऐप्स की एक सूची दी जाएगी (विंडोज़ की तरह)। – samosaris

0

मैं इस लिंक यहाँ, कि एक ही समस्या लक्षित करता है और इसे करने के लिए थोड़ा और विस्तार है छोड़ देंगे (दूसरा जवाब, टिप्पणी पढ़ने): Launching an Activity based on a file in android

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