Unity. Android. Save Files Disappears After Updating An App
Solution 1:
EDIT: Depending on your needs you may want to change the order of the potential directories and even favor external storage. If so please look at @LoungeKatt answer.
If you don't want to use the PlayerPrefs (which is I think the most robust available solution), you can always write directly into the user device.
WARNING: keep in mind doing it this way is far from a perfect solution ! The user can delete and edit the files you save and this is more of a workaround than a real answer.
Anyway, since the internal files directory paths changes from one Android device to another, you can use a small script to find it :
publicstaticstringGetAndroidInternalFilesDir()
{
string[] potentialDirectories = newstring[]
{
"/mnt/sdcard",
"/sdcard",
"/storage/sdcard0",
"/storage/sdcard1"
};
if(Application.platform == RuntimePlatform.Android)
{
for(int i = 0; i < potentialDirectories.Length; i++)
{
if(Directory.Exists(potentialDirectories[i]))
{
return potentialDirectories[i];
}
}
}
return"";
}
Hope this helps,
Solution 2:
Samsung and many other Android devices use a serial number as the mount point for external sdcards. Building on @Kardux's (original) answer for internal storage, the following will favor external storage (without a specific directory), then search for the internal sdcard as a fallback.
publicstaticstringGetAndroidInternalFilesDir()
{
string[] potentialDirectories = newstring[]
{
"/storage",
"/sdcard",
"/storage/emulated/0",
"/mnt/sdcard",
"/storage/sdcard0",
"/storage/sdcard1"
};
if(Application.platform == RuntimePlatform.Android)
{
for(int i = 0; i < potentialDirectories.Length; i++)
{
if(Directory.Exists(potentialDirectories[i]))
{
return potentialDirectories[i];
}
}
}
return"";
}
Note: This assumes the external storage directory appears first in a directory list. It then prioritizes the attempts to access storage by likelihood of success and adds /storage/emulated/0
, which many devices can access when unable to access /sdcard
.
Post a Comment for "Unity. Android. Save Files Disappears After Updating An App"