का उपयोग कर कैसे लिखने के लिए (और नाम बदलने) एसडी कार्ड में एक फ़ाइल (एंड्रॉयड 5 और ऊपर) के बारे में निष्कर्ष की एक बहुत कुछ करने के बाद अनुमति, मुझे लगता है कि नए एंड्रॉयड द्वारा प्रदान की एसएएफ हो जाएगा एसडी कार्ड फ़ाइल लिखने के लिए उपयोगकर्ता से अनुमति लेने की आवश्यकता है।एंड्रॉयड एसडी कार्ड लिखने एसएएफ (संग्रहण एक्सेस फ़्रेमवर्क)
मैंने इस फ़ाइल प्रबंधक एप्लिकेशन ईएस फ़ाइल एक्सप्लोरर में देखा है जो प्रारंभ में चित्रों में दिखाए गए अनुसार निम्न तरीके से पढ़ने और लिखने की अनुमति लेता है।
एसडी कार्ड चुनने के बाद, लिखने की अनुमति दी जाती है।
तो उसी तरह से मैं एसएएफ का उपयोग करने की कोशिश की है, लेकिन एक फ़ाइल का नाम बदलने में विफल रहा है। मेरा कोड:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
rename = (Button) findViewById(R.id.rename);
startActivityForResult(new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE), 42);
}
@Override
public void onActivityResult(int requestCode,int resultCode,Intent resultData) {
if (resultCode != RESULT_OK)
return;
Uri treeUri = resultData.getData();
DocumentFile pickedDir = DocumentFile.fromTreeUri(this, treeUri);
grantUriPermission(getPackageName(), treeUri, Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
getContentResolver().takePersistableUriPermission(treeUri, Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
}
public void renameclick(View v) {
File ff = new File("/storage/sdcard1/try1.jpg");
try {
ff.createNewFile();
} catch (Exception e) {
Log.d("error", "creating");
e.printStackTrace();
}
}
अभी भी कोड चलाने के बाद मुझे EAacces अनुमति अस्वीकार कर दी गई है।
लेकिन तब जब भी मैं एक फ़ाइल बनाने या नाम बदलने की आवश्यकता, एसएएफ पिकर –
खुल जाएगा ट्री यूआरआई है, तो आप कुछ भी आप फ़ाइलों और निर्देशिकाओं यह भी शामिल है के साथ चाहते हैं कर सकते हैं। आपको प्रत्येक बार उपयोगकर्ता से पूछने की आवश्यकता नहीं है यदि 1) आप 'टेकपर्सिस्टेबल यूरीप्रमिशन()' और 2) का उपयोग करते हैं, तो आप कहीं यूआरआई स्टोर करते हैं, ताकि आप इसे एप्लिकेशन स्टार्टअप – bwt
पर पुनर्प्राप्त कर सकें। धन्यवाद –