मैं एक ऐप विकसित कर रहा हूं जिसके लिए एसडीकार्ड के रूट फ़ोल्डर में सीधी पहुंच की आवश्यकता है, हालांकि यह एंड्रॉइड 4.2 में लगता है, मानक/एसडीकार्ड निर्देशिका अब उपयोगकर्ता के लिए विशिष्ट "नकली" एसडीकार्ड को इंगित करती है ऐप चला रहा है यह अच्छा नहीं है, क्योंकि मेरे ऐप को उस फ़ाइल तक पहुंच की आवश्यकता है जो एसडीकार्ड के शीर्ष स्तर पर संग्रहीत है। क्या कोई एंड्रॉइड 4.2 में सीधे एसडीकार्ड तक पहुंचने के बारे में जानता है?एंड्रॉइड में एक्सेस/एसडीकार्ड 4.2
उत्तर
क्या आप स्टोरेज निर्देशिका का उपयोग फ़ाइल प्रकार के रूप में कर सकते हैं? (java.io.File
)
यदि हां, तो आप बाह्य भंडारण प्राप्त कर सकते हैं (आमतौर पर एसडी कार्ड, लेकिन कोई एसडी कार्ड के साथ फोन पर मुख्य भंडारण हो जाएगा) कोड का उपयोग करके इस तरह के तरीके में इस रूप में:
File path = Environment.getExternalStorageDirectory();
इसके अतिरिक्त, स्टोरेज तक पहुंच READ_EXTERNAL_STORAGE
आपके एंड्रॉइड मैनिफेस्ट में अनुमति की आवश्यकता है - WRITE_EXTERNAL_STORAGE
के साथ किसी भी डेटा को संशोधित करने की आवश्यकता है। यहाँ इन अनुमतियों हैं के रूप में वे प्रकट में दिखाई देगा:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
सूत्रों का कहना है:
http://developer.android.com/reference/android/os/Environment.html http://developer.android.com/reference/android/Manifest.permission.html
यही वह है जो मैं वर्तमान में उपयोग करता हूं, लेकिन मुद्दा यह है कि एंड्रॉइड 4.2 में इसे/sdcard (बाहरी स्टोरेज डायरेक्टरी) विभाजन की वास्तविक रूट पर रीडायरेक्ट नहीं किया गया है, लेकिन/sdcard (बाहरी स्टोरेज डायरेक्टरी) विभाजन पर एक विशेष उपयोगकर्ता-विशिष्ट स्थान पर रीडायरेक्ट किया गया है। – Drew
आह, मुझे लगता है - खेद है कि मैंने आपके प्रश्न को गलत समझा। – Alex6642122
शायद मैं आपके सवाल का गलत समझ रहा हूँ, फिर भी, मेरे Nexus आकाशगंगा चलाने वाले Android 4.2.1 के साथ मैं Environment.getExternalStorageDirectory()
का उपयोग कर अपने एसडी कार्ड तक पहुंच सकता हूं। लौटाई गई निर्देशिका /storage/emulated/0
है, लेकिन सामग्री /sdcard
है।
स्टोरेज के बारे में कुछ दस्तावेज़ हैं, लेकिन 4.4 स्रोत.android.com/devices/tech/storage/config-example.html और doubleencore.com/2014/03/android-external- स्टोरेज के लिए – pevik
- 1. एंड्रॉइड 4.2 में एपीएन पढ़ें?
- 2. एंड्रॉइड 4.2 एपीआई
- 3. एंड्रॉइड 4.2 (और ऊपर)
- 4. एंड्रॉइड 4.2 रेडियोबटन एंड्रॉइड: drawableLeft बग?
- 5. एवीडी 4.2
- 6. एक्सकोड 4.2 में सिम्युलेटर
- 7. Android में एक्शन बार आइकन आकार 4.2
- 8. जावास्क्रिप्ट इंटरफ़ेस android 4.2
- 9. एक्सकोड 4.2
- 10. एक्सकोड 4.2
- 11. xCode 4.2
- 12. एक्सपीक 4.2
- 13. एक्सकोड 4.2
- 14. एक्सकोड 4.2
- 15. एक्सकोड 4.2
- 16. एक्सकोड 4.2
- 17. ट्यूटोरियल 4.2
- 18. जेबॉस 4.2
- 19. onCreateOptionsMenu जेबी 4.2
- 20. एंड्रॉइड 4.2 के साथ फोनगैप 2.4.0 - अजीब डबल क्लिक व्यवहार
- 21. एंड्रॉइड 4.2 CHANGE_CONFIGURATION अनुमति को फ़िल्टर करता है?
- 22. ग्रहण 4.2 (जूनो)
- 23. एक्सकोड 4.2 SIGABRT त्रुटि
- 24. xcode 4.2 स्टोरीबोर्ड
- 25. "iostream" फ़ाइल एक्सकोड 4.2
- 26. मैकरुबी और एक्सकोड 4.2
- 27. आईओएस 4.2 सिम्युलेटर फाइलें?
- 28. बिटबकेट + एक्सकोड 4.2 + गिट
- 29. आप एक्सकोड 4.2
- 30. एक्सकोड 4.2 से 4.2.1
क्या यह एक वास्तविक हटाने योग्य एसडी कार्ड है? 4.x उपकरणों पर मैंने देखा है, वास्तव में कोई एसडीकार्ड नहीं है, केवल आंतरिक स्टोरेज वॉल्यूम के भीतर एक का अनुकरण है, इसलिए लक्ष्य व्यर्थ होगा। यदि कोई भौतिक कार्ड है तो आप एडीबी शैल के 'माउंट' कमांड को देख सकते हैं और देख सकते हैं कि इसे कैसे संभाला जा रहा है। –
आपको गलतफहमी लगती है। हमेशा एक/sdcard विभाजन होता है, भले ही यह आभासी हो। लेकिन 4.2 अपडेट के साथ,/sdcard का हैंडलिंग पूरी तरह से अलग है। Sdcard विभाजन (कोड में) तक पहुंचने से आपको * वास्तविक */sdcard पर इंगित नहीं किया जाता है, यह आपको sdcard के वर्चुअल "विभाजन" पर इंगित करता है जो वर्तमान उपयोगकर्ता के लिए विशिष्ट है। ध्यान रखें कि जिस ऐप का मैं विकास कर रहा हूं वह डिवाइस के बावजूद 4.2 से नीचे एंड्रॉइड संस्करणों पर ठीक काम करता है। – Drew
इस पोस्ट को कौशिक दत्ता (रोम मैनेजर के डेवलपर) द्वारा देखें जहां वह एक ही मुद्दे के बारे में शिकायत करता है। https://plus.google.com/103583939320326217147/posts/D7mZBjTJj5j – Drew