为什么unity无法储存文件到本地? Failed to store screen shot (/storage/emulated/0/Android/data/com.unity3d.ig017a/files/pictures/2306_022140.png)
时间: 2023-07-08 15:47:25 浏览: 198
这个问题可能是由于Unity应用程序没有被授予访问外部存储的权限所导致的。您可以尝试在您的AndroidManifest.xml文件中添加以下权限:
```xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
```
另外,您可以尝试将您的截图保存到内部存储器,即应用程序专用的文件夹中。您可以使用以下代码获取应用程序专用的文件夹路径:
```csharp
string path = Application.persistentDataPath + "/screenshots/screenshot.png";
```
这将在您的应用程序专用的文件夹(例如:/data/data/com.unity3d.ig017a/files/)中创建一个名为“screenshots”的文件夹,并在其中保存您的截图。请注意,这个文件夹只能被您的应用程序访问。
相关问题
unity中如何将这段话Dir/storage/emulated/0/Android/data/com.unity3d.ig017a/files/com.huczyt.test/里面的/com.huczyt.test截取出来
你可以使用C#中的字符串操作来截取这个字符串。具体方法如下:
1.首先,你需要获取到这个字符串,可以使用Unity中的Application.persistentDataPath来获取到 "/storage/emulated/0/Android/data/com.unity3d.ig017a/files/com.huczyt.test/" 这个路径。
2.然后,你可以使用字符串操作中的Split方法将这个路径分隔开,具体代码如下:
```
string path = Application.persistentDataPath;
string[] splitPath = path.Split(new string[] { "/com.huczyt.test/" }, StringSplitOptions.None);
```
这里使用了字符串数组作为分隔符,将路径分为两部分,分隔符的前半部分为 "/storage/emulated/0/Android/data/com.unity3d.ig017a/files",分隔符的后半部分为 "",所以splitPath数组中的第一个元素为 "/storage/emulated/0/Android/data/com.unity3d.ig017a/files",第二个元素为 ""。
3.最后,你可以直接取splitPath数组中的第一个元素,即为你要截取的字符串,具体代码如下:
```
string subStr = splitPath[0];
```
这样就可以将 "/com.huczyt.test" 截取出来了。
unity中如何将storage/emulated/0/Android/data/com.unity3d.ig017a/files/com.huczyt.test从/files/处分割并取后面那部分?
你可以使用C#中的字符串操作来分割和获取子字符串。具体方法如下:
1.首先,你需要获取到这个完整的字符串,可以使用Unity中的Application.persistentDataPath来获取到 "/storage/emulated/0/Android/data/com.unity3d.ig017a/files/com.huczyt.test/" 这个路径。
2.然后,你可以使用字符串操作中的Split方法将这个路径分隔开,具体代码如下:
```
string path = Application.persistentDataPath;
string[] splitPath = path.Split(new string[] { "/files/" }, StringSplitOptions.None);
```
这里使用了字符串数组作为分隔符,将路径分为两部分,分隔符的前半部分为 "/storage/emulated/0/Android/data/com.unity3d.ig017a",分隔符的后半部分为 "com.huczyt.test/",所以splitPath数组中的第一个元素为 "/storage/emulated/0/Android/data/com.unity3d.ig017a",第二个元素为 "com.huczyt.test/"。
3.最后,你可以直接取splitPath数组中的第二个元素,即为你要获取的字符串,具体代码如下:
```
string subStr = splitPath[1];
```
这样就可以将 "/files/" 后面的字符串获取出来了,即为 "com.huczyt.test/"。
阅读全文