Начиная с версии 4.2 Android поддерживает многопользовательский режим (ссылки здесь и здесь).
У каждого пользователя есть свои приложения, и его личные данные видны только пользователю.
Вопрос
Как инкапсуляция данных для каждой работы пользователя с точки зрения путей и доступа файлы?
Я имею в виду, каковы будут пути каждого пользователя к:
- частному внутреннему хранилищу.
- эмулируемое внешнее хранилище (встроенное внешнее хранилище)
- "настоящее" внешнее хранилище (sd-карты)
Думаю, пользователи могут видеть данные, хранящиеся на SD-картах. которые принадлежат другим пользователям, а как насчет эмулируемого внешнего хранилища? И могут ли они также записывать файлы других пользователей или просто читать их?
Каждый пользователь автоматически получает свой особый путь? или разработчик должен справиться с этим?
Если разработчику необходимо решить эту проблему, какой идентификатор следует использовать в качестве идентификатора пользователя?
Документация говорит:
Независимо от того, какой из этих API вы используете для сохранения данных для данного пользователя,
данные не будут доступны при работе в качестве другой пользователь.
Но это все при условии, что вы используете API для своего собственного пути. Могут ли приложения каким-то образом обойти это, выбрав другие пути?
Что может запросить приложение о каждой своей установке на одном и том же устройстве? Могут ли они узнать размер приложений других пользователей? Могут ли они вообще получить список приложений других пользователей?
Разве многократная установка одного и того же приложения также требует разного размера?
Подробнее здесь: https://stackoverflow.com/questions/232 ... on-android
Мобильная версия