我使用电容器 3 创建了一个新应用程序,在这个应用程序中我使用文件系统来执行一些功能。我创建了一个服务来处理与文件系统相关的所有内容,但是当我使用这些功能时遇到了一些问题。
当使用 Android 11 使用该函数创建目录时,mkdir()出现以下错误:
Unable to create directory, unknow reason.
同样在 Android 11 上,当我尝试仅使用它创建文件时,writeFile()它会返回以下错误:
FILE_NOTCREATED
对于 Android 10 及更低版本,该mkdir()函数可以正常工作,但该writeFile()函数会导致应用程序崩溃而不会出现任何错误。另外,如果我尝试更改Diretory.ExternalStorage为Diretory.External我可以在 Android 11 中创建一个目录,但在写入文件时它仍然会崩溃。
使用 Android 11,我尝试编写一个txt包含简单字符串和小型 Base64 字符串的文件。使用时Diretory.External我可以在新文件中写入base64字符串,但是使用时Diretory.ExternalStorage我收到FILE_NOTCREATED错误。
我完成了所有配置并按照文档中的步骤进行设置AndroidManifest.xml。
已经在不同 Android 版本的模拟器和手机上进行了多项测试。
测试用writeFile()
Android 11
base64 + Diretory.External = success
string + Diretory.External = crash
base64 + Diretory.ExternalStorage = error
string + ExternalStorage …Run Code Online (Sandbox Code Playgroud)