Может ли sharedUserId
предоставлять доступ к файлам в каталоге data/data/com.example/files?SharedUserId & Files
Я попытался это сделать, и я могу получить контекст и проверить, существует ли этот каталог, хотя, когда я пытаюсь читать файлы с него, debuger дает мне ошибку PERMISSION DENIED.
They say в документации, SharedUserId
обеспечивает совместный доступ к данным и даже может запускать два приложения в том же процессе, что данные о том, что они говорят? Может быть, эта функция дает доступ только к «статическим» ресурсам приложения, а не к тем, которые были созданы динамически?
UPD
fw_context = createPackageContext("com.example", Context.CONTEXT_IGNORE_SECURITY);
String[] str = fw_context.getFilesDir.list();//str=null
Как я уже заметил, то str
здесь null
, я не знаю, почему это null
, но я знаю, что есть некоторые файлы в этой директории (я коренится телефон так что я это вижу)
Благодарим за ответ! Я прочитал ваши предыдущие ответы по этому вопросу и уже решил, что не могу использовать эту функцию в своем случае, но я все еще пытаюсь понять, почему, если кто-то может это сделать, почему я не могу! Я добавил реализацию получения контекста и того, как я пытаюсь получить список файлов, он всегда равен нулю, и если я попытаюсь с одиночным файлом с точным адресом, он говорит о РАЗРЕШЕНИИ РАЗРЕШЕНИЯ, и мое дело соответствует условиям, которые вы наметили , –
@MovsarBekaev: Я бы начал с регистрации того, что 'fw_context.getFilesDir()' возвращает и подтверждает, что оно выглядит правильно. – CommonsWare
«Файл f = fw_context.getFilesDir();' возвращает правильный путь к/files/dir приложения com.example, так или иначе, я потратил целый день на это и только теперь узнал, что я не могу использовать это даже если он работает, поэтому я пытаюсь узнать о FileProvider, мне просто нужно скопировать файлы из одного приложения в другое и не использовать внешние разрешения, так как люди имеют очень негативное отношение к загрузке таких приложений .. спасибо вам однажды больше, и спасибо за книгу, будет очень полезно изучить ее! –