Хранилище, общее для всех пользователей в Android 4.2
4.2 Jellybean теперь поддерживает несколько пользователей. Однако в соответствии с документами все вызовы всех API-интерфейсов для получения места хранения возвращают места, частные для текущего пользователя (например, getExternalStorageDirectory()).
Я кэширую большое количество контента с серверов и сохраняю его во внешнем хранилище, но в многопользовательской среде эти данные необходимо будет дублировать для всех пользователей. Это тратит много места.
Есть ли способ сохранить файлы в общей области, чтобы все пользователи могли их использовать?
1 ответ
Очевидно, нет, согласно примечаниям к выпуску:
Независимо от того, какой из этих API вы используете для сохранения данных для данного пользователя, данные не будут доступны при работе от имени другого пользователя. С точки зрения вашего приложения, каждый пользователь работает на совершенно отдельном устройстве.
Надеюсь, я ошибаюсь, потому что у меня такая же проблема, как и у вас.
Я ценю, что это была бы потенциальная дыра в безопасности, но если бы я сохранил файлы в папке, возвращенной getExternalStoragePublicDirectory
Я бы был виноват только в себе.