java.lang.SecurityException: Negação de permissão: provedor de abertura

Inicio a intenção do seletor de imagens usando:

final Intent pickIntent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
pickIntent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
startActivityForResult(intent, PICK_IMAGE);

e emonActivityResult() Recebo uris de todas as imagens selecionadas e inicio trabalhos que são executados em segundo plano e carregam essas imagens (https://github.com/yigit/android-priority-jobqueue) Mas se eu pressionar o botão Voltar e sair da atividade, qualquer trabalho que não tenha sido iniciado não poderá acessar a imagem escolhida quando executada e lançará uma exceção:

java.lang.SecurityException: negação de permissão: provedor de abertura com.google.android.apps.photos.contentprovider.MediaContentProvider de ProcessRecord {...} (pid = 2407, uid = 10117) que não é exportado do uid 10123

A razão para isso acontecer é porque a permissão é revogada quando a atividade é concluída. De acordo com dochttps://developer.android.com/guide/topics/providers/content-provider-basics.html:

Essas são permissões para um URI de conteúdo específico que duram até que a atividade que os recebe seja concluída.

Minha pergunta é: existe uma solução alternativa para isso? Como obter permissão no nível do aplicativo ou algo assim?

Quais são as alternativas para resolver este problema? Uma solução rápida parece fazer uma cópia de todas as imagens escolhidas e depois enviá-las, mas isso parece ser o último recurso.

questionAnswers(3)

yourAnswerToTheQuestion