[Java] एंड्रॉइड में बाहरी सार्वजनिक भंडारण के लिए फाइल कैसे लिखनी है ताकि वे विंडोज से दिख सकें?


Answers

Question

मेरे ऐप को ऐसी जगह पर फाइल सहेजनी चाहिए, जहां आप अपने फोन / टैबलेट को किसी कंप्यूटर से कनेक्ट करते हैं, आप उन्हें सिस्टम फाइल एक्सप्लोरर के माध्यम से देख सकते हैं।

यह मैंने जिस तरह से फाइल लेखन लागू किया है:

protected String mDir = Environment.DIRECTORY_DOCUMENTS;
protected File mPath = Environment.getExternalStoragePublicDirectory(mDir);

protected void writeLogFile(String filename) {
    File f = new File(mPath, filename + ".txt");
    f.getParentFile().mkdirs();
    try (BufferedWriter bw = new BufferedWriter(new FileWriter(f, false))) {

        // Details omitted.

    } catch (Exception e) {
        e.printStackTrace();
        return;
    }
    makeText("Wrote " + f.getAbsolutePath());
}

जब मैं अपने सोनी एक्सपीरिया जेड 4 टैबलेट को विंडोज से जोड़ता हूं, तो यह मुझे दिखाई दे रहा है (अनुपलब्ध दस्तावेज़ फ़ोल्डर में):

यह वह निर्देशिका है जिसके लिए फ़ाइल लिखा है (उपर्युक्त क्रियान्वयन का उपयोग करना):

मेरे कार्यान्वयन में क्या गलत है?