एंड्रॉइड 5 एसडी कार्ड केवल पढ़ने के लिए है। एंड्रॉइड पर एसडी कार्ड का पथ प्राप्त करना

💖क्या आपको यह पसंद है?लिंक को अपने दोस्तों के साथ साझा करें

4.4.2 "ऑन बोर्ड" वाले उपकरणों के कई खुश मालिकों ने शायद पहले से ही फ्लैश कार्ड पर डेटा लिखने के लिए डिवाइस पर इंस्टॉल किए गए अधिकांश एप्लिकेशन की अक्षमता की समस्या का सामना किया है। Google के अनुसार, Android 4.4.2 किटकैट OS को अधिक सुरक्षित सिस्टम बनाने के लिए बनाया गया।

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

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

अधिक उन्नत उपयोगकर्ता जो लगातार फ्लैश ड्राइव से कंप्यूटर पर और वापस डेटा कॉपी करते हैं, उन्हें निम्नलिखित समस्या का सामना करना पड़ सकता है: कंप्यूटर आपके " " का पता लगाता है, फ़ाइलों को देखता है, लेकिन उनके साथ कुछ नहीं कर सकता - पहुंच अस्वीकार कर दी गई है! इस समस्या को आपके डिवाइस पर एक एप्लिकेशन इंस्टॉल करके ठीक किया जा सकता है जो एक्सेस प्रदान करेगा। लेकिन यह एप्लिकेशन केवल ROOT डिवाइस पर ही काम करेगा।


एसडीफिक्स: किटकैट राइटेबल सरलता से काम करता है: एप्लिकेशन इंस्टॉल करने और लॉन्च करने के बाद, आप जारी रखें पर क्लिक करते हैं, शर्तों से सहमत होते हैं और फिर से जारी रखें पर क्लिक करते हैं। यदि आपके डिवाइस पर सुपरयूजर एप्लिकेशन पहले से इंस्टॉल है, तो आपको इसमें एसडीफिक्स को रूट निर्देशिकाओं तक पहुंच की अनुमति देनी चाहिए।


एसडीफिक्स किटकैट राइटेबल माइक्रोएसडी अपने संचालन के दौरान फ़ाइल /system/etc/permissions/platform.xml को बदल देगा, जिसमें यह WRITE_EXTERNAL_STORAGE अनुमति वाले अनुप्रयोगों द्वारा फ़ाइलों को लिखने और संशोधित करने की अनुमति लिखेगा। मूल संशोधित एसडीफिक्स: किटकैट राइटेबल माइक्रोएसडी फ़ाइलआप इसेplatform.xml.original-pre-sdfix नाम से पा सकते हैं। इसके बाद, आप हमेशा मूल फ़ाइल को पुनर्स्थापित कर सकते हैं।

सबसे "आसान" उपयोगकर्ताओं के लिए जिनके डिवाइस पर रूट एक्सेस है, सुधार करने का एक विकल्प है आवश्यक फ़ाइल, एसडीफिक्स का सहारा लिए बिना: किटकैट राइटेबल माइक्रोएसडी।

ऐसा करने के लिए, एक फ़ाइल प्रबंधक लॉन्च करें जो फ़ाइलों को संपादित कर सकता है, /system/etc/permissions/ पर प्लेटफ़ॉर्म.xml फ़ाइल ढूंढें, और अंतर्निहित संपादक का उपयोग करके इसे खोलें।


उसके बाद, android.permission.WRITE_MEDIA_STORAGE और android.permission.WRITE_EXTERNAL_STORAGE अनुभाग ढूंढें और इन अनुभागों में कोड की निम्नलिखित पंक्तियाँ जोड़ें:







उसके बाद, संशोधित फ़ाइल को संपादक में सहेजें।

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

यह समाप्त हो गया! एक टैबलेट पर, अर्थात् आसुस पर मेमो पैड 7, जिसे मैंने अपने ईमानदार कर्मठ कार्यकर्ता के स्थान पर प्रतिस्थापित किया था, को एंड्रॉइड 5.0.1 का अपडेट प्राप्त हुआ है। अब मेरे पास लॉलीपॉप वाला एक उपकरण है, या, जैसा कि वे इंटरनेट पर कहते हैं, लॉलीपॉप वाला।


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

इसने वास्तव में मुझे हतोत्साहित किया (निश्चित रूप से, एक अच्छे तरीके से), इसलिए भी क्योंकि मैंने दिसंबर में टैबलेट खरीदा था, और इसका संस्करण 4.3 था। यानी ये दूसरा अहम अपडेट है ऑपरेटिंग सिस्टम(वास्तव में, और भी अपडेट थे, लेकिन एंड्रॉइड संस्करण संख्या नहीं बदली)। मेरे उपकरणों का पिछला निर्माता - सैमसंग - इस तरह की आग की दर का दावा नहीं कर सकता था, हालांकि उन्होंने ऑपरेटिंग सिस्टम को दो बार अपडेट किया: एंड्रॉइड 3.2 से एंड्रॉइड 4.1.2 (4.0.1 के माध्यम से) तक। लेकिन इन नए वर्जन के लिए हमें काफी लंबा इंतजार करना पड़ा।

खैर, आश्चर्य लंबे समय तक जीवित रहें! बाहर निकलने की सूचना मिल रही है नया संस्करणफर्मवेयर, मैंने तुरंत इसे डाउनलोड किया, जो 700 मीटर से अधिक है, और अपडेट लॉन्च किया। चूँकि मैंने डाउनलोड नहीं किया घर का नेटवर्क, और मोबाइल फोन के माध्यम से, सब कुछ करने में थोड़ा अधिक समय लगा: डाउनलोड की शुरुआत से लेकर अपडेट के पूरा होने तक, लगभग एक घंटा बीत गया। अपडेट स्वयं लगभग बीस मिनट तक चला, लेकिन संभावित रूप से इसमें अधिक समय लग सकता है - क्योंकि ऑपरेटिंग सिस्टम को स्थापित करने के बाद, इंस्टॉल किए गए प्रोग्राम को अपडेट करने की प्रक्रिया चलती है। मेरे काउंटर की गिनती 205 तक हुई। लेकिन अब, प्रक्रिया समाप्त हो गई है और यह देखने का समय है कि क्या बदल गया है।

डिवाइस को अनलॉक करते समय पहली चीज़ जिसने मेरा ध्यान खींचा, वह थी अधिक परिष्कृत ग्राफ़िक्स। दूसरा अधिसूचना क्षेत्र में हाथ है. मैंने इसे कुछ दिनों तक सहन किया, इस उम्मीद में कि संयोग से मुझे इससे संबंधित कुछ चीज़ कहीं देखने को मिलेगी। मैंने इसे नहीं देखा. फिर मैंने जानबूझकर खोज शुरू की और 4pda पर इस पर एक स्पष्टीकरण पाया। यह पता चला है कि सूचनाएं महत्वपूर्ण और इतनी महत्वपूर्ण नहीं में विभाजित हैं, और यह निर्दिष्ट करना संभव है कि आप कौन सी सूचनाएं प्राप्त करना चाहते हैं। यदि आप विकल्प सेट करते हैं हमेशा सूचित करें , यदि विकल्प है तो हाथ गायब हो जाता है केवल महत्वपूर्ण चेतावनियाँ , फिर हाथ प्रकट होता है। सच कहूँ तो, मैंने कई बार अपना हाथ हटाया, लेकिन किसी न किसी कारण से वह वापस आ ही जाता है। क्यों? मैं अभी तक नहीं जानता.

यहाँ, वास्तव में, इस हाथ को "हटाने" की प्रक्रिया है:

ऊपर दी गई विधि बिल्कुल भी जटिल नहीं है। लेकिन आप परिणाम को और भी तेजी से और आसानी से प्राप्त कर सकते हैं: दो वॉल्यूम नियंत्रण बटनों में से एक को दबाएं - स्क्रीन पर एक विंडो दिखाई देगी जो आपको विभिन्न सिस्टम घटकों के लिए वॉल्यूम स्तर बदलने की अनुमति देती है, साथ ही, ध्यान, नियंत्रण चेतावनी मोड . सच है, किसी कारण से, ये वही हैं चेतावनी मोड हमेशा इतनी तेजी से प्रदर्शित नहीं होते। मुझे अभी तक कोई पैटर्न नहीं मिला है, लेकिन ईमानदारी से कहूं तो मैंने वास्तव में इसकी तलाश नहीं की थी।

के बारे में कुछ शब्द स्थापित प्रोग्राम. हालाँकि अपडेट प्रक्रिया शुरू करने से पहले मुझे एक चेतावनी मिली थी कि कुछ प्रोग्राम हटा दिए जाएंगे क्योंकि वे नए फर्मवेयर में शामिल नहीं थे, फिर भी, अधिकांश प्रोग्राम बने रहे।


एकमात्र चीज जिसके लिए मुझे थोड़ा खेद है, वह है असामान्य नाम "टू एप्लिकेशन" वाला प्रोग्राम। हालाँकि, मुझे स्वीकार करना होगा, मुझे तुरंत समझ भी नहीं आया कि यह किस बारे में था: मैंने सोचा कि कौन से दो एप्लिकेशन हटा दिए जाएंगे, क्या नामों को इंगित करना वास्तव में असंभव था।

हां, वह प्रोग्राम जो संस्करण 4.4.2 में दिखाई दिया और जिसने एक साथ चल रहे दो अनुप्रयोगों के बीच स्क्रीन साझा करना संभव बना दिया, वह गुमनामी में डूब गया है। ईमानदारी से कहें तो, इसकी कार्यक्षमता कमज़ोर थी, क्योंकि एक ही समय में बहुत सीमित श्रेणी के एप्लिकेशन चलाना संभव था। यदि स्मृति काम करती है, तो मैंने इसका उपयोग केवल एक या दो बार किया, केवल यह देखने के लिए कि यह कैसा था। हो सकता है कि कोई इस कार्यक्रम द्वारा प्रदान किए गए अवसरों को चूक जाए, लेकिन किसी तरह मैं विशेष रूप से परेशान नहीं था। हालाँकि, निश्चित रूप से, मुझे वास्तव में यह पसंद नहीं है जब वे मुझसे वह छीन लेते हैं जो उन्होंने मुझे पहले दिया था।

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

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

एक और सकारात्मक बदलाव - कई कमरों वाला कार्यालयसॉफ़्टमेकर ऑफिस एचडी, भी ईमानदारी से खरीदा गया। इसमें शामिल प्रोग्राम सैमसंग टैबलेट पर सामान्य रूप से काम करते थे। जब मैंने इन प्रोग्रामों को एक नए टैबलेट पर स्थापित किया, तो वे बिल्कुल भी प्रारंभ नहीं हुए। कुछ समय बाद, इस कार्यालय के लिए एक अपडेट जारी किया गया और स्थिति में कुछ हद तक सुधार हुआ: प्रोग्राम लॉन्च होने लगे, हालांकि, ऑपरेशन के दौरान, मेनू क्षेत्र (प्रोग्राम विंडो की शीर्ष पंक्ति) में कुछ अजीब ग्राफिक कलाकृतियां जमा हो गईं। डेस्कटॉप (या किसी अन्य एप्लिकेशन) और वापस स्विच करने पर, कलाकृतियाँ गायब हो गईं, लेकिन लंबे समय तक नहीं। बाद एंड्रॉइड अपडेटपैकेज में शामिल सभी प्रोग्राम घड़ी की कल की तरह काम करते हैं।

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

कार्यक्रमों से संबंधित विशेष मामलों से, मैं सिस्टम के अधिक सामान्य गुणों की ओर बढ़ूंगा। खैर, सबसे पहले, मुफ्त मेमोरी की मात्रा बढ़ गई है। जैसा कि मैंने पहले ही लिखा था, मेरा सारा सॉफ़्टवेयर यथावत बना रहा। साथ ही, मुझे कहना होगा कि मैं टैबलेट पर काफी दबाव डालता हूं। इस तथ्य के संदर्भ में नहीं कि मैं लगातार गेम खेलता हूं, बल्कि इस तथ्य के संदर्भ में कि मेरे पास बहुत सारी सेवाएं हैं, जिनमें से कुछ का मैं उपयोग नहीं कर सकता हूं, लेकिन मैं उन्हें रखता हूं। हम बात कर रहे हैं, सबसे पहले, सभी प्रकार के मेलर्स के बारे में - आउटलुक, यांडेक्स मेल, जीमेल, अधिक सटीक रूप से, अब इनबॉक्स। अगला, विभिन्न घन संग्रहण- यांडेक्स डिस्क, वनड्राइव, गूगल ड्राइव, ड्रॉपबॉक्स, बॉक्स, आसुस वेबस्टोरेज। युगल सोशल नेटवर्क- Odnoklassniki और Google+। अन्य सभी प्रकार के संदेशवाहक - Viber, ICQ, Skype, Hangouts। ये सभी प्रोग्राम, किसी न किसी तरह, डिवाइस की मेमोरी को ख़त्म कर देते हैं, तब भी जब आप उनका उपयोग नहीं करते हैं। लेकिन, सिद्धांत रूप में, मैं समझता हूं कि मैं क्या कर रहा हूं।

आसुस डिवाइस के उपयोगकर्ता जानते हैं कि एंड्रॉइड स्क्रीन में एक एप्लिकेशन है जो आपको कम से कम अस्थायी रूप से मेमोरी साफ़ करने की अनुमति देता है। शीर्ष पाँच में इसे क्लीनिंग कहा जाता है, लेकिन किटकैट में इसे अधिक काल्पनिक रूप से कहा जाता था - सुदृढ़ीकरण। जब आप पर्दा खोलते हैं, तो इस एप्लिकेशन का आइकन खाली स्थान की मात्रा दिखाता है। इस पलयाद। इसलिए, जब टैबलेट पर एंड्रॉइड संस्करण 4.4.2 स्थापित किया गया था, तो यह आंकड़ा 200-300 एमबी की सीमा में उतार-चढ़ाव करता था और आइकन, अक्सर, पीला होता था। अब मुफ़्त मेमोरी की मात्रा 400 से 600 एमबी तक है और आइकन लगभग हर समय हरा रहता है। यह परिवर्तन संभवतः परिवर्तन के कारण है आभासी मशीन, लॉलीपॉप में उपयोग किया जाता है, लेकिन शायद फ़र्मवेयर में ही कुछ बदल गया है, उदाहरण के लिए, आसुस ने कुछ हटा दिया है। सामान्य तौर पर, हमें इसका पता लगाने की जरूरत है।

वर्चुअल मशीन को बदलने से दो और पैरामीटर प्रभावित होने चाहिए थे - प्रदर्शन और बिजली की खपत। मैं प्रदर्शन के बारे में क्या कह सकता हूँ? कुछ भी नहीं, शायद। मैं खिलौनों से नहीं खेलता, मुझे तोतों (अंतुतु, आदि) से प्रतिस्पर्धा करना बिल्कुल पसंद नहीं है। टैबलेट अपने आप में काफी शक्तिशाली है, इसलिए मुझे किटकैट या अब लॉलीपॉप में कोई मंदी नज़र नहीं आई। सब कुछ सहज और बिना किसी शिकायत के है। जब मैं गाड़ी चला रहा होता हूं, तो डीवीआर, स्ट्रेलका, मैप्स (या तो यांडेक्स या गूगल) काम करते हैं, मैं कोडी का उपयोग करके संगीत भी सुनता हूं, और, इस सब के बाद, यह अभी भी सामान्य तौर पर डेस्कटॉप पर स्विच करने, कुछ अन्य प्रोग्राम लॉन्च करने पर प्रतिक्रिया करता है। , एक जानवर हैं.

और ऊर्जा खपत के बारे में... मूलतः, किटकैट पर नवीनतम अपडेट ने मुझे डिवाइस की अक्षमता के बारे में शिकायत करने के अवसर से वंचित कर दिया। यदि किटकैट की प्रारंभिक स्थापना के बाद टैबलेट प्रति रात अपने ऊर्जा भंडार का 20-30 प्रतिशत खो देता है, तो 31वें फर्मवेयर संस्करण में अपडेट करने के बाद, नुकसान काफी स्वीकार्य हो गया - प्रति रात दो से पांच प्रतिशत तक। लॉलीपॉप पर अपडेट करने से इस लिहाज से कुछ भी खराब नहीं हुआ और इसके लिए आपको बहुत-बहुत धन्यवाद। जहां तक ​​लोड के तहत खपत का सवाल है, यहां मैं फिर से एक कार में परिचालन अनुभव का हवाला दे सकता हूं: सभी समान शुरुआती - डीवीआर, स्ट्रेलका, यैंडेक्स नेविगेटर, कोडी, स्क्रीन की चमक लगभग 75-80 प्रतिशत है - एक उज्ज्वल, धूप वाला दिन, साथ ही सभी वायरलेस इंटरफ़ेस चालू हैं, इसलिए, यात्रा के दौरान - लगभग दो घंटे - बैटरी 57 प्रतिशत तक डिस्चार्ज हो गई। मेरी राय में, काफी योग्य. वैसे, किटकैट के तहत भी लगभग ऐसा ही था।

खैर, आखिरी बात - क्रम में सूचीबद्ध है, लेकिन महत्व के क्रम में नहीं - वह है जिसे मैं नोट करना चाहूंगा। हम बाहरी मेमोरी कार्ड के साथ काम करने के बारे में बात करेंगे। मैं, बाहरी मेमोरी कार्ड में रिकॉर्डिंग पर किटकैट के प्रतिबंध के कारण उत्पन्न स्थिति से बाहर निकल रहा था। जाहिर है, नकारात्मकता की लहर इतनी तीव्र थी कि Google को कुछ सुनना और बदलना पड़ा। या हो सकता है कि उन्होंने किसी की बात सुने बिना ही कुछ बदल दिया हो। लेकिन आइए इस महत्वपूर्ण प्रश्न को एक तरफ छोड़ दें (क्या हमने सुना/नहीं सुना), और आइए स्वयं परिवर्तनों की ओर बढ़ें।

गूगल ने अनुमति दी तीसरे पक्ष के कार्यक्रममेमोरी कार्ड पर लिखें. सिद्धांत रूप में, उन्होंने पहले इस पर प्रतिबंध नहीं लगाया था, यह सिर्फ इतना था कि परमिट इस तरह से जारी किए गए थे, यदि सामान्य स्थितियाँ, केवल मूल फ़ाइल प्रबंधक के पास संपूर्ण बाहरी कार्ड तक लिखने की पहुंच थी। खैर, हो सकता है कि कुछ निर्माताओं ने अपने अन्य कार्यक्रमों तक पहुंच की अनुमति दी हो, लेकिन मुझे केवल फ़ाइल प्रबंधक का सामना करना पड़ा। अब कोई भी प्रोग्राम लिख सकता है, लेकिन इसके लिए कई शर्तें पूरी करनी होंगी।

सबसे पहले, प्रोग्राम को स्टोरेज एक्सेस फ्रेमवर्क की नई सुविधाओं का उपयोग करना चाहिए, अर्थात्, OPEN_DOCUMENT_TREE इरादे और कई नए या अद्यतन एसडीके फ़ंक्शन का उपयोग करना चाहिए।

दूसरे, उपयोगकर्ता को स्वयं निर्णय लेना होगा कि किस शाखा (या शाखाओं) में जाना है। फाइल सिस्टमयह किसी न किसी एप्लिकेशन तक पहुंच प्रदान करेगा. अर्थात्, आप पूरे कार्ड तक पहुंच दे सकते हैं यदि, पहुंच के अनुरोध के जवाब में, आप इसका रूट निर्दिष्ट करते हैं, या आप केवल एक विशिष्ट फ़ोल्डर और उसके तक पहुंच दे सकते हैं बाल तत्व. सामान्य तौर पर, आपको ज़िम्मेदारी अपने ऊपर लेनी होगी, और, यदि कुछ घटित होता है, तो इसके लिए दोषी भी आप ही होंगे।

तीसरा है भाग्य. मेरे टेबलेट पर सब कुछ वैसा ही काम कर रहा था जैसा कि मेरे मित्र के टेबलेट पर होना चाहिए एचटीसी वन M8 - ऑनलाइन होते हुए भी काम नहीं किया क्या कोई वीडियो है?, इस स्मार्टफोन मॉडल पर सब कुछ कैसे बढ़िया काम करता है। हालाँकि, एक धारणा यह है कि यह काम नहीं कर सका क्योंकि उसके फोन में कार्ड किसी तरह गलत तरीके से फ़ॉर्मेट किया गया था, शायद वॉल्यूम नाम बताए बिना, या शायद गलत फ़ाइल सिस्टम में।

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

दरअसल, बाहरी मेमोरी कार्ड में रिकॉर्डिंग की इस पूरी कहानी में काफी बारीकियां हैं। उदाहरण के लिए, आपने कुछ प्रोग्रामों को एक्सेस दे दिया, लेकिन अन्य को भूल गए। कहा देखना चाहिए? जैसा कि मैं इसे समझता हूं, वर्तमान में - कहीं नहीं। यानी, सिद्धांत रूप में, आप इसे देख सकते हैं, लेकिन टैबलेट पर ही नहीं, बल्कि कंप्यूटर पर, यदि आप टैबलेट को इससे कनेक्ट करते हैं और उपयोग करते हैं एडीबी कार्यक्रम. यहां वह आदेश है जिसकी आपको आवश्यकता है:

एडीबी शेल डंपसिस गतिविधि प्रदाता

लेकिन मुझे यह पता नहीं चला कि टेबलेट पर वही चीज़ कैसे प्राप्त की जाए।

अगला सवाल। आपने कुछ एप्लिकेशन को किसी फ़ोल्डर में लिखने की पहुंच दी, और फिर आपने अपना मन बदल लिया और उसे हटाना चाहते हैं। क्या ऐसी कोई संभावना है? सौभाग्य से हाँ. लेकिन घाटे के साथ. सबसे पहले, बहुत कट्टरपंथी तरीका- आप प्रोग्राम को हटा सकते हैं और इसे फिर से इंस्टॉल कर सकते हैं। दूसरी विधि इतनी कट्टरपंथी नहीं है, लेकिन आदर्श भी नहीं है - आपको डिवाइस सेटिंग्स में एप्लिकेशन डेटा साफ़ करने की आवश्यकता है। स्वाभाविक रूप से, एक्सेस अधिकारों के साथ, अन्य प्रोग्राम डेटा हटा दिया जाएगा, इसलिए व्यावहारिक प्रयोज्यता के बारे में एक तार्किक प्रश्न उठता है यह विधि. अन्य तरीकों की खोज करना शायद अभी तक संभव नहीं हो सका है। यदि आप पहले प्रोग्राम डेटा का बैकअप लेते हैं, और किसी एक विधि को प्रभावी बनाने के बाद उसे पुनर्स्थापित करते हैं, तो आप दोनों विधियों का उपयोग कर सकते हैं। लेकिन यहां बैकअप की क्षमताओं के बारे में सवाल उठता है - क्या केवल डेटा का बैकअप लिया जाएगा, या अनुमतियों के साथ डेटा का? यदि अनुमतियों के साथ, तो पुनर्प्राप्ति के बाद, ठीक है, आप समझते हैं... यह सब काफी हद तक उपयोग किए गए विशिष्ट अनुप्रयोगों पर निर्भर करता है, इसलिए आपको बहुत सावधान रहना चाहिए। और यह प्राचीन मॉस्को को देखने से पहले सोचने का एक और अच्छा कारण है, संबंधित अधिकारियों की मंजूरी के बिना, बाहरी कार्ड की फ़ाइल प्रणाली तक पहुंचने के लिए किसी भी एप्लिकेशन को अधिकार प्रदान करना।

आगे। यदि आप अपने टेबलेट के स्लॉट में डाले गए कार्ड को बदल दें तो क्या होगा? इसका उत्तर यह है कि आपको डिवाइस में डाले गए प्रत्येक कार्ड तक अलग से पहुंच प्रदान करनी होगी। सिद्धांत रूप में, यह संभवतः तर्कसंगत है। यानी, आपने फ़ाइल मैनेजर को कार्ड के रूट तक पहुंच दी, फिर उसे बाहर निकाला और दूसरा डाला। फ़ाइल प्रबंधक नए कार्ड पर नहीं लिखेगा; आपको फिर से एक्सेस देना होगा। लेकिन जब आप टैबलेट पर पहला कार्ड लौटाते हैं, तो फ़ाइल प्रबंधक बिना किसी समस्या के उसे लिख देगा।

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

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

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

ओह, हाँ, ES Provodnka के लिए माइक्रोएसडी कार्ड पर रिकॉर्डिंग अधिकार जारी करने की प्रक्रिया इस तरह दिखती है:

हमें एक बाहरी कार्ड की आवश्यकता है

आइए सीधे मानचित्र के मूल में कुछ बनाने का प्रयास करें






हमें एसडी कार्ड प्रदर्शित करना होगा


यहाँ यह है, हमारा बाहरी मेमोरी कार्ड



खैर, अभी के लिए काफी है।

पी.एस. ऐसा हुआ कि जब से मैंने यह सामग्री लिखी है, काफी समय बीत चुका है। मैं इसे पहले ही कई बार प्रकाशित कर सकता था, लेकिन मैं इसे टालता रहा, और यह स्पष्ट नहीं है कि क्यों। अधिक सटीक रूप से, मुझे पता है क्यों - मैं अभी भी यह तय कर रहा था कि किसी विशेष प्रक्रिया का वर्णन करने वाले स्क्रीनशॉट की एक श्रृंखला को कैसे प्रस्तुत किया जाए: केवल सम्मिलित छवियों के अनुक्रम के रूप में, या एक स्लाइड शो के रूप में। अंततः, छवियों के अनुक्रम का उपयोग करने का निर्णय लिया गया (कम से कम अभी के लिए)। यह सब कैसे हुआ यह एक अलग पोस्ट का विषय है। फ़िलहाल, सब कुछ वैसा ही बना हुआ है, अफ़सोस की बात यह है कि बहुत सारा समय बर्बाद हो गया। एकमात्र सांत्वना यह है कि यह व्यर्थ नहीं था। इसके अलावा एक सुखद घटना घटी. मैंने इस पोस्ट में लिखा है कि बाहरी मेमोरी कार्ड तक पहुंच केवल तभी उपलब्ध होगी जब प्रोग्राम लेखक नए एपीआई का उपयोग करना शुरू करेंगे। एक प्रोग्राम के उदाहरण के रूप में जिसमें नई एपीआई का उपयोग नहीं किया जाता है, मैंने दिया कुल कमांडर. इसलिए, जब मैं प्रकाशन में देरी कर रहा था, टोटल कमांडर को अपडेट किया गया था, और अब यह एंड्रॉइड लॉलीपॉप शैली में बाहरी मेमोरी कार्ड के साथ भी काम कर सकता है। नीचे मैं टोटल कमांडर का उपयोग करके बाहरी मेमोरी कार्ड के रूट में एक नई निर्देशिका बनाने की प्रक्रिया का वर्णन करने वाले स्क्रीनशॉट की एक श्रृंखला प्रदान करता हूं:

बाह्य मेमोरी कार्ड का चयन करना
और मेनू से वांछित आइटम का चयन करें
अभी के लिए शायद इतना ही।

मैंने खरीदा नया फ़ोन सैमसंग गैलेक्सी S5, और तुरंत ऑपरेटिंग रूम में एक समस्या का सामना करना पड़ा एंड्रॉइड सिस्टम. अधिक सटीक रूप से, संस्करण एंड्रॉइड 4.4 किटकैट। एंड्रॉइड का यह संस्करण पेश किया गया नयी विशेषतागूगल डेवलपर्स.

एप्लिकेशन को अब एसडी कार्ड पर फ़ाइलों को संपादित करने की पहुंच से वंचित कर दिया गया है!इसके कारण कुछ एप्लिकेशन काम नहीं करते!

मैं आपको बताऊंगा कि इस समस्या से कैसे निपटा जाए!

शुभ दोपहर, हमारे ब्लॉग के प्रिय पाठकों!

दूसरे दिन मैंने अपने लिए एक नया फ़ोन खरीदा! सैमसंग गैलेक्सी S5!

अपने नए फोन का आनंद ले रहे हैं

मैं अपने आप को एक सफल खरीदारी के लिए बधाई देता हूं, जिसका मैं कई वर्षों से सपना देख रहा था! फ़ोन उल्लेखनीय रूप से तेज़, शक्तिशाली, सुंदर और सुविधाजनक निकला!

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

जो लोग नहीं जानते, उनके लिए फ्लैशिंग फोन के ऑपरेटिंग सिस्टम का प्रतिस्थापन है। ख़ैर, यह तो बात हुई विंडोज़ को पुनः स्थापित करनाकंप्यूटर पर।

काफी समय बीत चुका है, एंड्रॉइड के कई संस्करण जारी किए जा चुके हैं (खरीद के समय मेरे पास एंड्रॉइड 2.2 था)। नए संस्करण और जिन फ़ोनों पर वे स्थापित किए गए थे, वे मेरे पुराने स्मार्टफ़ोन से कहीं बेहतर हैं। इसलिए, मैं शक्ति, गति और कार्यक्षमता से बहुत आश्चर्यचकित था।

मैंने लगभग 4 दिनों तक इसका आनंद लिया। तभी मेरे सामने एक समस्या आई!

संकट! फ़ाइल सिस्टम फ़ाइल को संपादित करने पर रोक लगाता है!

अगले अपडेट के बाद फोन के ऑपरेटिंग सिस्टम को ही एंड्रॉइड 4.4 पर अपडेट कर दिया गया।

मेरे आश्चर्य की कल्पना कीजिए जब मैं अपने फ़ोन पर एक भी फ़ाइल संपादित नहीं कर सका! सबसे पहले मैं गड़बड़ियों का दोषी था, मैंने जाँच की विभिन्न फ़ोल्डर, कंप्यूटर से (फ़ोन से केबल कनेक्ट करके) फ़ाइल को संपादित करने का प्रयास किया। फ़ाइलों को संपादित करने का कोई तरीका नहीं था!

एंड्रॉइड के लिए सेटिंग्स - डिवाइस के बारे में - एसई स्थिति में ऑपरेटिंग सिस्टम के बारे में जानकारी देखने के बाद, मैंने एनफोर्सिंग शब्द देखा।

यह कोड है गूगल शब्दमतलब एंड्रॉइड का एक संस्करण जहां एप्लिकेशन अधिकार ऑपरेटिंग सिस्टम कर्नेल स्तर पर सीमित हैं! ईएमएई! खैर, मैं समझ गया!

समस्या के समाधान के लिए मैंने इंटरनेट का सहारा लिया

यहाँ मुझे क्या मिला:

एक्स मैंने अभी देखा कि मेरा फ़ोन 5 साल की निर्माता की वारंटी के साथ पूरी तरह से नया है!

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

इस काउंटर को प्रभावित करने के लिए, आपको फोन को अलग करना होगा और चिप्स में जाना होगा। इसलिए, ऐसे धोखे में न पड़ें!

यदि आपको रूट एक्सेस मिल जाता है, तो आपकी वारंटी गायब हो जाएगी! मेरे पुराने फ़ोन पर परीक्षण किया गया!



एंड्रॉइड 5.0 के नए संस्करण में, Google बाहरी एसडी मेमोरी कार्ड तक पहुंच को अवरुद्ध करने के लिए एक अलग तर्क का उपयोग करता है।

1. नया तर्क कैसे काम करता है?

एप्लिकेशन संकलित रूप में सिस्टम पर इंस्टॉल किए जाते हैं।यानी लॉन्च के लिए तैयार फॉर्म में. इससे परफॉर्मेंस, मल्टीटास्किंग बढ़ती है और बैटरी की खपत कम होती है।

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

अब, एंड्रॉइड 5.0 में, सभी एप्लिकेशन संकलित, अनज़िप किए गए रूप में इंस्टॉल किए गए हैं। इसके परिणामस्वरूप एप्लिकेशन अधिक स्थान का उपयोग करते हैं लेकिन तेजी से चलते हैं!

2. इससे क्या होता है?

  1. इंस्टॉलेशन के दौरान एप्लिकेशन को एक्सेस अधिकार सौंपे जाते हैं!
  2. उपयोगकर्ता को इंस्टॉलेशन के दौरान किसी विशिष्ट एप्लिकेशन के लिए अधिकार सेट करने का अधिकार है।
  3. उपयोगकर्ता एप्लिकेशन की अनुमतियाँ बदल सकता है. उदाहरण के लिए, यदि आप किसी प्रोग्राम पर भरोसा करते हैं, तो आप उसे बाहरी मेमोरी कार्ड पर फ़ाइलों को संपादित करने की अनुमति दे सकते हैं।

मैं समस्या को हल करने के लिए एंड्रॉइड को संस्करण 5.0 में अपडेट करना चाहता हूं!

अगर मैं ऑपरेटिंग सिस्टम का आधिकारिक संस्करण अपडेट करता हूं, तो मैं वारंटी बरकरार रखूंगा!

लेकिन मुझे रूस के लिए एंड्रॉइड का एक संस्करण चाहिए (विशेष रूप से उसके लिए, और किसी अन्य देश के लिए नहीं), ताकि परेशानी न हो अंग्रेजी शब्दों मेंइंटरफ़ेस में.

मैं उसे ढूंढने की कोशिश करूंगा.

आधिकारिक सहायता कार्यक्रम सैमसंग फ़ोनकिज़ का कहना है कि मेरा फ़ोन अपडेट हो गया है नवीनतम संस्करणद्वारा।

मुझे आधिकारिक वेबसाइटों पर (हमारे क्षेत्र के लिए) कोई आधिकारिक एंड्रॉइड अपडेट नहीं मिला।

मुझे मंचों पर जानकारी मिली कि Google ने जनवरी 2015 में रूस के लिए एक फर्मवेयर संस्करण जारी किया था। लेकिन इसे ग्राहक उपकरणों पर बहुत धीरे-धीरे लागू किया जा रहा है।

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

एक प्रतियोगिता एप्लिकेशन विकसित करते समय, मुझे डेटाबेस संग्रहण समस्या का सामना करना पड़ा। समस्या यह थी कि मैं बाहरी मेमोरी कार्ड की पहचान कैसे करूँ। सामान्य तौर पर, इंटरनेट पर खोज से कोई सटीक उत्तर नहीं मिला। इसलिए, पाए गए सभी परिणामों को मिलाकर, मैंने अपनी कक्षा इकट्ठी की। यदि किसी की रुचि हो तो कट के नीचे देखें।

तो, चलिए सिद्धांत से शुरू करते हैं।

शब्दावली

Google हमें बताता है कि निम्नलिखित अवधारणाएँ हैं:
  1. आंतरिक ( आंतरिक) मेमोरी फोन में बने मेमोरी कार्ड का हिस्सा है। डिफ़ॉल्ट रूप से उपयोग किए जाने पर, एप्लिकेशन फ़ोल्डर अन्य एप्लिकेशन (आंतरिक संग्रहण का उपयोग करके) की पहुंच से सुरक्षित रहता है।
  2. बाहरी ( बाहरी) मेमोरी सामान्य "बाह्य भंडारण" है, अर्थात। यह या तो अंतर्निहित मेमोरी का हिस्सा हो सकता है या एक उपकरण हो सकता है जिसे हटाया जा सकता है। आम तौर पर यह अंतर्निहित मेमोरी का हिस्सा होता है, पिछली बार जब मैंने किसी डिवाइस को हटाते हुए देखा था तो वह एंड्रॉइड 2.2 पर था, जहां अंतर्निहित मेमोरी लगभग 2 जीबी थी, और कनेक्टेड मेमोरी बाहरी हो गई थी (बाहरी स्टोरेज का उपयोग करके)।
  3. हटाया गया ( हटाने योग्य) मेमोरी - सभी स्टोरेज जिन्हें "सर्जिकल" हस्तक्षेप के बिना डिवाइस से हटाया जा सकता है।

किटकैट 4.4 से पहले, एपीआई बाहरी मेमोरी पथों को पुनर्प्राप्त करने के लिए कार्यक्षमता प्रदान नहीं करता था। इस संस्करण (एपीआई 19) से शुरू होकर, सार्वजनिक सार फ़ाइल फ़ंक्शन दिखाई दिया बाहरीफ़ाइल्सडीआईआर प्राप्त करें(स्ट्रिंग प्रकार), जो आंतरिक और बाहरी मेमोरी के पथों के साथ स्ट्रिंग्स की एक सरणी लौटाता है। लेकिन हमारे एसडी कार्ड का क्या, जो स्लॉट में डाला जाता है? हम फिर से उस तक पहुंचने का रास्ता नहीं पा सकते।

खोज परिणाम

प्रश्न का उत्तर देने के लिए, मैंने सर्वज्ञ Google की ओर रुख किया। लेकिन उन्होंने मुझे कोई स्पष्ट उत्तर भी नहीं दिया. कई परिभाषा विकल्पों पर विचार किया गया, मानक फ़ंक्शंस का उपयोग करने से जो बाहरी मेमोरी की ओर ले जाते हैं, लेकिन स्टोरेज डिवाइस को हटाए जाने से लेकर डिवाइस माउंटिंग नियमों (दूसरी ओर एंड्रॉइड) को संसाधित करने तक उनका कोई लेना-देना नहीं है। लिनक्स कर्नेलकाम करता है)। बाद के मामलों में, माउंटेड डिवाइस वाले फ़ोल्डर के लिए "हार्डवायर्ड" पथ का उपयोग किया गया (में)। विभिन्न संस्करणयह निर्देशिका भिन्न है)। यह न भूलें कि माउंटिंग नियम संस्करण दर संस्करण बदलते रहते हैं।

अंततः, मैंने अपने द्वारा प्राप्त सभी ज्ञान को संयोजित करने का निर्णय लिया और अपनी स्वयं की कक्षा लिखी, जो बाहरी और हटाए गए उपकरणों के लिए पथ वापस कर सकती है।

कोड विवरण

एक वर्ग बनाया गया है माउंटडिवाइस, जिसमें डिवाइस का पथ, डिवाइस प्रकार और एक हैश शामिल है।
डिवाइस दो प्रकार के होते हैं ( आंतरिक मेमॉरीमैंने इसे नहीं छुआ, क्योंकि इसे सिस्टम एपीआई के माध्यम से एक्सेस किया जा सकता है)।

सार्वजनिक एनम माउंटडिवाइसटाइप (EXTERNAL_SD_CARD, REMOVABLE_SD_CARD)
और क्लास बनाई गई भंडारण सहायक, जो उपलब्ध मेमोरी कार्ड की खोज करता है।

स्टोरेजहेल्पर वर्ग दो खोज विधियों को लागू करता है - सिस्टम वातावरण के माध्यम से ( पर्यावरण) और लिनक्स उपयोगिता का उपयोग करना पर्वत, या यों कहें कि इसके निष्पादन का परिणाम।

विधि एक - पर्यावरण
पर्यावरण के साथ काम करते समय, मैं बाहरी मेमोरी के बारे में जानकारी प्राप्त करने के लिए मानक getExternalStorageDirectory() फ़ंक्शन का उपयोग करता हूं। डिलीट की जा रही मेमोरी के बारे में जानकारी प्राप्त करने के लिए मैं इसका उपयोग करता हूं पर्यावरणपरिवर्ती तारक "माध्यमिक भंडारण".

बाह्य स्मृतिहमेशा एक होता है और आमतौर पर हमेशा एक होता है, इसलिए हम इसकी पठनीयता की जांच करते हैं, हैश की गणना करते हैं और इसे याद रखते हैं। डिलीट करने के लिए बहुत सारी मेमोरी हो सकती है, इसलिए परिणामी स्ट्रिंग को डिलीमीटर द्वारा विभाजित करना और प्रत्येक मान की जांच करना आवश्यक है।

फ़ंक्शन फ़िलडिवाइसएनवायरमेंट

स्ट्रिंग पथ = android.os.Environment.getExternalStorageDirectory() .getAbsolutePath(); if (!path.trim().isEmpty() && android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)) ( testAndAdd(path,mountDeviceType.EXTERNAL_SD_CARD); ) // रिमूवर प्राप्त करें स्ट्रिंग rawSecondaryStoragesStr = System.getenv("SECONDARY_STORAGE"); यदि (rawSecondaryStoragesStr != null && !rawSecondaryStoragesStr.isEmpty()) ( // सभी माध्यमिक SD-CARDs सरणी में विभाजित हो जाते हैं अंतिम स्ट्रिंग rawSecondaryStorages = rawSecondaryStoragesStr .split(File.pathSeparator); के लिए (स्ट्रिंग rawSecondaryStorage: rawSecondaryStorages) ( testAndAdd(rawSecondaryStorage, माउंटडिवाइसटाइप.REMOVABLE_SD_CARD);


समाधान स्टैकओवरफ़्लो से लिया गया था। उत्तर वहीं नीचे कहीं है.
विधि दो - माउंट
चूँकि मैं लंबे समय तक डिलीट की जा रही मेमोरी का रास्ता बताने वाला सिस्टम नहीं पा सका, इसलिए मैंने माउंटेड डिवाइस की दिशा में देखने का फैसला किया। सिस्टम में कॉन्फ़िगरेशन फ़ाइलें हैं जो बाहरी उपकरणों को माउंट करने के नियमों का वर्णन करती हैं। सब कुछ ठीक होगा, लेकिन एंड्रॉइड संस्करण 4.* पर साधारण प्राणियों के पास इस फ़ाइल तक पहुंच नहीं है, इसलिए मैं इस विधि पर विचार नहीं करूंगा।

आइए माउंट उपयोगिता पर वापस लौटें। जब पैरामीटर के बिना चलाया जाता है, तो कमांड माउंटेड फ़ाइल सिस्टम की एक सूची लौटाता है। हटाए जा रहे उपकरण आमतौर पर FAT फ़ाइल सिस्टम प्रारूप में होते हैं, इसलिए हम उन पंक्तियों को हाइलाइट करेंगे जिनमें विशेषता शामिल है " मोटा"। बाहरी मेमोरी को पैरामीटर द्वारा चित्रित किया जाएगा " फ्यूज".

ध्यान दें: इस पद्धति का उपयोग करते समय, माउंट किए गए उपकरणों के प्रकार हमेशा सही ढंग से निर्धारित नहीं होते हैं (संभवतः मैंने कुछ भी ध्यान में नहीं रखा)। अलग-अलग पर फर्क देखा एंड्रॉइड संस्करण. इसलिए, इस विधि का उपयोग अतिरिक्त के रूप में किया जा सकता है।

fillDevicesProcess फ़ंक्शन

कोशिश ( रनटाइम रनटाइम= रनटाइम.गेटरनटाइम(); proc = runtime.exec('mount'); प्रयास करें ( is = proc.getInputStream(); isr = new InputStreamReader(is); br = new BufferedReader(isr); while ((line = br.readLine()) != null) ( if (line.contains("secure ")) जारी रखें; यदि (line.contains("asec")) जारी रखें; यदि (line.contains("fat")) (// TF कार्ड स्ट्रिंग कॉलम = लाइन.स्प्लिट (" "); यदि (कॉलम != null && columns.length > 1) ( testAndAdd(columns,mountDeviceType.REMOVABLE_SD_CARD); ) ) अन्यथा यदि (line.contains("fuse")) (// आंतरिक(बाहरी) // भंडारण स्ट्रिंग कॉलम = लाइन.स्प्लिट(" "); यदि (कॉलम != null && columns.length > 1) ( // माउंट = माउंट.कॉनकैट(कॉलम + "\n"); testAndAdd(कॉलम, माउंटडिवाइसटाइप.EXTERNAL_SD_CARD); ) ) ) अंततः ( .. . ) ) पकड़ना (अपवाद ई) ( ... )

स्रोतपूरी कक्षा अभी तक कहीं भी स्थित नहीं है। इनमें से किसी एक दिन मैं इसे gitHub पर पोस्ट करने का प्रयास करूंगा।

और कौन किस पद्धति का उपयोग करता है?

टैग: टैग जोड़ें



मित्रों को बताओ