Problem with permission to save game data on device

this is actually an child thread to my question: System.IO.IOException: Win32 IO returned 25?anyone - Questions & Answers - Unity Discussions
and Help:System.IO.IOException: Win32 IO returned 25 on my android device - Unity Engine - Unity Discussions

since the problem source has been isolated, i think might be good to start anew and focus just that, and hopefully, some of you there could offer a little hints and help me out, coz i hav stuck on this long enough to pull al my hair out

has anyone encounter that after add in “android.permission.WRITE_EXTERNAL_STORAGE”, your save feature would not work on device no more, here is my save script:

        public void TB_Save()
        {
            if (!Directory.Exists(Application.persistentDataPath + "\\DotData"))
            {
                Directory.CreateDirectory(Application.persistentDataPath + "\\DotData");
            }
            string filePath = Application.persistentDataPath + "\\DotData\\" + "CTPDotData.Tgd";
            FileStream FS = new FileStream(filePath, FileMode.Create);
            XmlSerializer XS = new XmlSerializer(typeof(TBF_SaveLoad));
            XS.Serialize(FS, this);
            FS.Close();
            Debug.Log(filePath + " Saved");
        }

without android.permission.WRITE_EXTERNAL_STORAGE, my game could save no problem on both PC and Device, and adb output when saved is like:
I/Unity ( 2000): /data/data/com.CyberTurboPlays.DragFaster/files/DotData/CTPDotData.Tgd Saved

after add in android.permission.WRITE_EXTERNAL_STORAGE in anroid manifest.xml, my game could no longer save on device, PC is still OK tho, and adb output when saved is like:
I/Unity (31976): IOException: Win32 IO returned 25. Path: /storage/sdcard0/Android/data/com.CyberTurboPlays.DragFaster/files/DotData
I/Unity (31976): at System.IO.Directory.CreateDirectoriesInternal (System.String path) [0x00000] in :0
I/Unity (31976): at System.IO.Directory.CreateDirectory (System.String path) [0x00000] in :0
I/Unity (31976): at TBF_SaveLoad.TB_Save () [0x00000] in : 0

i changed to use Application.DataPath, adb out put is like:
I/Unity (12898): UnauthorizedAccessException: Access to the path “/mnt/asec/com.CyberTurboPlays.DragFaster-1/pkg.apkDotData” is denied

guys, any suggestion is greatly appreciated

after i removed the part that create folder, my save become OK again on device, even when i hav added in android.permission.WRITE_EXTERNAL_STORAGE in manifest.

to sum up,
when with no android.permission.WRITE_EXTERNAL_STORAGE, i can create folder structure in the game install directory on device,
when with android.permission.WRITE_EXTERNAL_STORAGE, i can only create file in the root of the game install loc

at least, my game can save now, but still many wonders left open on this one

like: just how do i create a directory(folder structure) on device when android.permission.WRITE_EXTERNAL_STORAGE is present?

oh, and one more thing, now that my save data file has to be created in the root dir, i can now see the save file if i go look for it with file browser on my phone, whereas previously, i created the file in that folder, and i cannot see my save file nor the folder anywhere on my phone, not even when i switch on all the hidden files. i was so happy that working on device game save, i wouldnt hav to pre-process the save data, before save, coz user can never see the save file:(.

anyway, cant create folder at will on device is not the best solution, i would like to know how to properly create directory on device with unity, when android.permission.WRITE_EXTERNAL_STORAGE is present

the awesome people from Unity, if you see this, give me some enlightments, plz