मेरे पास एक ऐसा एप्लिकेशन है जो किसी सर्वर से डाउनलोड की गई फ़ाइलों को सहेजता है। ये फ़ाइलें मेरे आवेदन के लिए निजी नहीं हैं और अन्य अनुप्रयोगों के लिए भी उपलब्ध होनी चाहिए। मैं जानना चाहता हूं कि एसडी कार्ड के आस-पास होने पर इन फ़ाइलों को सहेजने का सही मार्ग क्या होगा।आंतरिक स्टोरेज में सार्वजनिक फ़ाइलों को सहेजना
getExternalStorageDirectory()
आंतरिक स्मृति में आवेदन के निजी डेटा के लिए वहाँ है - - एसडी कार्ड के लिए, वहाँ अच्छी तरह से ज्ञात एपीआई है
Context.getFilesDir()
कुछ उपकरणों पर, आंतरिक स्मृति/eMMC का प्रतिनिधित्व करती है /।
अगर कोई/emmc/पर विस्तार कर सकता है तो यह वास्तव में सहायक होगा। मुझे पता है कि यह एम्बेडेड मेमोरी कार्ड के लिए खड़ा है और सभी उपकरणों में मौजूद नहीं है। लेकिन क्या यह वास्तव में आंतरिक स्मृति का प्रतिनिधि है? या यह तीसरी याददाश्त है?
क्या मुझे openFileOutput()
MODE_WORLD_READABLE
के साथ फ़ाइलों को सहेजना चाहिए?
धन्यवाद कॉमन्सवेयर! हां, मेरा आवेदन ACTION_VIEW के साथ अन्य अनुप्रयोगों को ट्रिगर करना बिल्कुल यही कारण है कि मैं इन फ़ाइलों को सार्वजनिक करता हूं। साथ ही, कुछ फ़ाइल एक्सप्लोरर और एप्लिकेशन एसडी कार्ड के साथ-साथ आंतरिक मेमोरी स्कैन करते हैं, मैं चाहता हूं कि वे इन फ़ाइलों को ढूंढ सकें। तो, मेरा सवाल बनी हुई है, एसडी कार्ड नहीं मिलने पर फ़ाइल को कहां से सहेजना है? – Akshay
@ अक्षय: "इसके अलावा, कुछ फाइल एक्सप्लोरर और एप्लिकेशन एसडी कार्ड के साथ-साथ आंतरिक मेमोरी स्कैन करते हैं, मैं चाहता हूं कि वे इन फ़ाइलों को ढूंढ सकें।" - यह संभव नहीं है, या यदि यह है, तो यह एक प्रमुख सुरक्षा छेद है। "तो, मेरा सवाल बनी हुई है, एसडी कार्ड नहीं मिलने पर फ़ाइल को कहां से सहेजना है?" - 'getFilesDir() '। – CommonsWare
धन्यवाद कॉमन्सवेयर! मैं इसे स्पष्ट रूप से समझने की कोशिश कर रहा हूं। मेरे एप्लिकेशन की तुलना किसी ऐसे ईमेल क्लाइंट से की जा सकती है जो अनुलग्नक डाउनलोड करती है और दस्तावेज़ फ़ाइलों और मीडिया प्लेयर को इन फ़ाइलों को खोलने की अनुमति देती है। एसडी कार्ड अनुपस्थित होने पर एक ईमेल क्लाइंट फाइलों को सहेज लेगा? आंतरिक स्मृति में कोई सार्वजनिक निर्देशिका नहीं है? कुछ/internal_memory/डाउनलोड की तरह? आप एक सुरक्षा छेद के रूप में आंतरिक स्मृति स्कैनिंग पर विचार क्यों करेंगे? बस पुष्टि करने के लिए, आंतरिक मेमोरी डिवाइस/फोन मेमोरी का तात्पर्य है, है ना? प्रश्नों की झुकाव के लिए खेद है। – Akshay