Я кодирую приложение для Android, используя Kivy, и хотел бы, чтобы приложение записывало в файловую систему Android некоторые ПУБЛИЧНЫЕ каталоги/файлы.
В настоящее время, если мое приложение записывает файл (с использованием Python), файл МОЖЕТ быть прочитан локальным файловым менеджером Android, но НЕ МОЖЕТ быть прочитан моим компьютером mtp (эти файлы не отображаются во внутреннем хранилище). Однако оболочка adb МОЖЕТ видеть файлы.
[EDIT] Решением может быть сканирование файлов на наличие mtp с помощью MediaScannerConnection с Pyjnius, однако, как показано в моем следующем ответе, у меня это не сработало. [/РЕДАКТИРОВАТЬ]
Мне кажется, что я ищу эквивалент 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" и т. д... безуспешно.