我正在使用 Kivy 编写一个 Android 应用程序,并希望该应用程序写入 android 文件系统、一些 PUBLIC 目录/文件。
目前,如果我的应用程序写入一个文件(使用 Python),该文件可以由 android 本地文件管理器读取,但不能由我的计算机 mtp 读取(这些文件不会出现在 InternalStorage 中)。adb shell 可以看到这些文件。
[编辑] 解决方案可能是使用带有 Pyjnius 的 MediaScannerConnection 扫描文件以查找 mtp,但是如我的下一个答案所示,它对我不起作用。[/编辑]
在我看来,我正在寻找此处描述的 Java getSharedPreferences 的等效项:http: //developer.android.com/guide/topics/security/permissions.html。
我认为 buildozer 规范中有一个类似的选项:这里描述的 android.private_storage 字段:https ://raw.githubusercontent.com/kivy/buildozer/master/buildozer/default.spec 。
但是,我没有让它工作......也许我没有正确使用 buildozer 命令:在规范“android.private_storage = False”中设置后,我尝试了几个命令,如“buildozer android release --dir public my_dir" 或 "buildozer android release --public my_dir" 等...,但没有成功。