Ошибка разрешения при попытке передать Content Uri из активности в службу - PullRequest
1 голос
/ 01 мая 2019

У меня есть действие, которое принимает android.intent.action.SEND.
Он принимает некоторые медиа-файлы и тексты.
Поскольку он принимает новый «общий ресурс», он выполняет некоторые проверки правильности и передает Uri службе, он выглядит следующим образом:

Uri uri = intent.getParcelableExtra(Intent.EXTRA_STREAM);
Intent serviceIntent = new Intent(this, ShareService.class)
        .setData(uri)
        .addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION) // probably redundant but harmless here       
        .putParcelableArrayListExtra(Constants.EXTRA_SHARE_FILES, uris)
startService(serviceIntent);

Он работает для всех file провайдеров и, как правило, также для content, но время от времени я получаю сообщения о сбоях:

Non-fatal Exception: java.lang.SecurityException: UID 10283 does not have permission to content://com.whatsapp.provider.media/item/33560 [user 0]

Могу ли я что-нибудь сделать, чтобы сохранить разрешение Ури? как мне справиться с этим видом Ури?

1 Ответ

0 голосов
/ 01 мая 2019

, пожалуйста, создайте папку xml в своем приложении и в упомянутом файле xml файла поставщика файлов и файла настройки безопасности сети, после этого объявите fileprovider в файле AndroidMenifest.xml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...