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

0 ответов

Другие вопросы по тегам