Android многопользовательское разделение для внешнего хранилища
У меня есть некоторые сомнения по поводу разделения многопользовательских Android внешней памяти
Скажем, владелец устанавливает пакет com.example.test, который имеет следующий код
File[] path = getExternalFilesDirs(null);
Log.d("getExternalFilesDirs",path.toString());
Лог для владельца
/storage/sdcard/Android/data/com.example.test/files
Теперь, когда одно и то же приложение уже установлено, я запускаю одно и то же приложение для другого пользователя.
Лог для вышеуказанного кода для другого пользователя
/storage/sdcard/Android/data/com.example.test/files
Моя путаница - это то же местоположение, которое разделяют владельцы и другие пользователи, я ожидал, что это место будет приватным для пользователей.
Я ожидал что-то подобное для внешнего хранилища для нескольких пользователей
/storage/sdcard/Android/data/user/0/com.example.test/files /storage/sdcard/Android/data/user/13/com.example.test/files
Как выполняется многопользовательское разделение для внешнего хранилища? В то время как следующий код для внутреннего хранилища при запуске под разными пользователями показывает
path=getFilesDir();
Log.d("getFilesDir",path.toString());
/data/user/10/com.example.test/files --> for user1
/data/user/11/com.example.test/files --> for user2
/data/user/13/com.example.test/files --> for user3
Здесь я вижу многопользовательское разделение во внутренней памяти. Все эксперименты проводились на AVD для Nexus 4 компанией Google, Target Name Android 5.0, API Level 21.
Спасибо за вашу помощь.
--Batsayan