Как я могу использовать файл Uri из другого приложения Intent в Android ⇐ Android
-
Anonymous
Как я могу использовать файл Uri из другого приложения Intent в Android
В моем приложении я получил Uri PDF-файла из любого другого приложения, которое может обмениваться PDF-файлами.
Uri uri = getIntent().getParcelableExtra(Intent.EXTRA_STREAM); В любом случае я не могу полностью использовать этот Uri, поскольку он принадлежит внешнему по отношению к моему приложению FileProvider. Например, когда я пытаюсь создать FileDescriptor:
ParcelFileDescriptor fd = context.getContentResolver().openFileDescriptor(uri, "r"); Я получаю следующую ошибку:
W/System.err: java.lang.SecurityException: отказ в разрешении: открытие поставщика androidx.core.content.FileProvider из ProcessRecord{...} (pid=23606, uid=10525), который не экспортируется от UID 10123 Действительно ли необходимо получить путь к файлу, скопировать файл и получить новый Uri? Или я могу просто каким-то образом управлять исходным Uri?
В моем приложении я получил Uri PDF-файла из любого другого приложения, которое может обмениваться PDF-файлами.
Uri uri = getIntent().getParcelableExtra(Intent.EXTRA_STREAM); В любом случае я не могу полностью использовать этот Uri, поскольку он принадлежит внешнему по отношению к моему приложению FileProvider. Например, когда я пытаюсь создать FileDescriptor:
ParcelFileDescriptor fd = context.getContentResolver().openFileDescriptor(uri, "r"); Я получаю следующую ошибку:
W/System.err: java.lang.SecurityException: отказ в разрешении: открытие поставщика androidx.core.content.FileProvider из ProcessRecord{...} (pid=23606, uid=10525), который не экспортируется от UID 10123 Действительно ли необходимо получить путь к файлу, скопировать файл и получить новый Uri? Или я могу просто каким-то образом управлять исходным Uri?
Мобильная версия