繁体   English   中英

Unity-文件无法在Android上写入?

[英]Unity - File not writing on Android?

在过去的几个小时里,我一直在努力让它工作,这让我发疯。

我设置了一种保存数据的方法,该方法在PC上可以完美运行,但是在Android上,它不会写入文件。 这是我的代码:

 public void Save()
{
    string data = buildJson();

    File.WriteAllText(Application.persistentDataPath + "/playerSave.json", data);
    Debug.Log("File Saved: " + Application.persistentDataPath + "/playerSave.json");
}

不知道为什么它不起作用。 据我所知阅读其他线程,使用Application.persistantDataPath是正确的做法。

有什么帮助吗?

在android上,File.WriteAllText(Application.persistentDataPath +“ /playerSave.json”,data)将在您的SD卡上写入数据,您需要在清单文件中添加android.permission.WRITE_EXTERNAL_STORAGE权限。 由unity创建的默认清单文件不会添加此权限。

如果WriteAllText失败,则将引发异常。 为什么不尝试捕获异常并检查错误是什么?

解决了。

我的问题是该方法甚至没有被正确调用。

我已经创建了一个单例游戏对象,其中包含保存有我的save方法的脚本,但是我没有使用引用来保存它,这意味着它仅在我在创建游戏对象的同一场景中调用save方法时才有效。 (在我在Unity编辑器中跳过菜单场景的情况是这种情况,但在应用程序中对其进行真实测试时不是这种情况)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM