2012-05-28 13 views
13

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

+1

उपयोग मोड। प्राइवेट –

उत्तर

2

एकमात्र तरीका, AFAIK encrypt आपके द्वारा संग्रहीत फ़ाइलों को है। उपयोगकर्ताओं को एसडीकार्ड को संग्रहीत हर फ़ाइल तक पहुंचने के लिए माउंट करने का कोई तरीका नहीं है।

+0

क्षमा करें, मैंने आपको यह नहीं बताया है कि आप कृपया वर्णन कर सकते हैं ..... –

+0

उपयोगकर्ता अपनी छवियों को आरएसए/डीएसए (यह आपके उद्देश्य के लिए सबसे अच्छा है) का उपयोग करके एन्क्रिप्ट करें जब उपयोगकर्ता छवि संग्रहीत करता है और जब चाहें डिक्रिप्ट करता है प्रदर्शित करने के लिए। – Blackbelt

+0

यहां एक नज़र डालें: http://stackoverflow.com/questions/4526612/encryption-of-image-files-on-android-cipheroutputinputstream-problems – Blackbelt

0

इस संबंधित सवाल के अनुसार, आप केवल आंतरिक मेमोरी (पर नहीं एसडी) में सुरक्षित फ़ाइलों बना सकते हैं ...

Create Folder that can not accessible by any other application

+0

उपयोगकर्ता कई छवियों को सहेज सकता है यदि आंतरिक मेमोरी में संग्रहीत सभी छवियां, स्मृति अपमानजनक हो सकती है। –

0

प्रयास करें निम्नलिखित समाधान:

How to store a file in Hidden mode

यद्यपि यह वही नहीं है जो आप चाहते हैं और मुझे संदेह है कि यह संभव है या नहीं। सबसे अच्छा विकल्प यह छिपा बनाने के लिए होगा, लेकिन वह भी बाधा के साथ काम करता (linux के लिए काम करता है और नहीं विंडोज के लिए, अभी भी अन्य अनुप्रयोग फ़ोल्डर तक पहुँच सकते हैं)

How to hide the folder of sdcard in android

How to make a file hidden in android sd card?

0

इसके लिए संभव नहीं डिवाइस से पीसी से कनेक्ट होने पर उस फ़ोल्डर तक कोई पहुंच न दें .. एसडीकार्ड पर भी यह संभव नहीं है, लेकिन आप छवियों के लिए अलग-अलग प्रारूप का उपयोग कर सकते हैं जिन्हें केवल आपके एप्लिकेशन से खोला जा सकता है, या आप छवियों को एन्क्रिप्ट कर सकते हैं। या यदि आप छवियों को गैलरी में दिखाने से छिपाना चाहते हैं, तो आप अपने फ़ोल्डर में ".nomedia" नाम के साथ एक खाली फ़ाइल डाल सकते हैं। लेकिन यदि आप WRITE_EXTERNEL_STORAGE अनुमति के बारे में दस्तावेज़ पढ़ते हैं तो यह संभव नहीं है, आप समझेंगे कि मैं क्या कह रहा हूं। :)

7

इस guide के अनुसार, आप फ़ाइलों को सीधे डिवाइस के आंतरिक संग्रहण पर सहेज सकते हैं। डिफ़ॉल्ट रूप से, आंतरिक संग्रहण में सहेजी गई फ़ाइलें आपके एप्लिकेशन के लिए निजी होती हैं और अन्य एप्लिकेशन उन्हें एक्सेस नहीं कर सकते हैं (न ही उपयोगकर्ता भी)। जब उपयोगकर्ता आपके एप्लिकेशन को अनइंस्टॉल करता है, तो इन फ़ाइलों को हटा दिया जाता है। उदाहरण के लिए:

String FILENAME = "hello_file"; 
String string = "hello world!"; 
FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE); 
fos.write(string.getBytes()); 
fos.close(); 

MODE_PRIVATE (इसी नाम की एक फ़ाइल या बदलने) फ़ाइल बनाने जाएगा और यह आपके आवेदन तक सीमित करें। उपलब्ध अन्य मोड हैं: MODE_APPEND, MODE_WORLD_READABLE, और MODE_WORLD_WRITEABLE।

+0

उपयोगकर्ता कई छवियों को सहेज सकता है यदि आंतरिक मेमोरी में संग्रहीत सभी छवियां, स्मृति अपमानजनक हो सकती है .. –

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