我制作了一个 Kivy 应用程序,带有一个从互联网下载文件的按钮。但是,每次点击按钮时都会出现错误:
[Errno 13] Permission denied: sdcard/file.txt
我尝试在
AndroidManfest.xml
文件和 buildozer.spec
文件中进行更改,但没有任何运气。经过快速研究,我发现 Android 存储系统在 Android 10 或更高版本上完全改变了。经过更多研究后,我发现我必须编写一些内容而不是清单文件,但我不能,因为我无法打开它来实际读取它。 (这是一堆乱七八糟的字母)
所以我的问题是,我可以使用 buildozer 或其他东西进行更改吗?
还有其他方式访问存储吗?
另外,我该如何修复我的代码,以便它尝试访问内部存储?
这是我的系统: 装有应用程序的手机:Android 10 打包:GitHub Actions; ubuntu-20.04(应用程序可以运行,但前提是它们不必访问存储) 如有必要,我可以使用额外的计算机:Windows 10
所以我实际上找到了解决方案here;感谢约翰·安德森的评论。 只需浏览代码并根据需要使用它即可。 (别忘了功劳!) 您还需要将
READ_EXTERNAL_STORAGE
和 WRITE_EXTERNAL_STORAGE
添加到 buildozer.spec
它应该适用于每个 Android 版本。 (antorix 在 Android 6、10、12 上测试过;我在 Android 10 上测试过)
再次感谢。