Ткните в готовое приложение или где найти минимально необходимый пример.
Задача у меня обратная. Мое приложение изредка падает с Security exception при попытке получить данные.
Это происходит из-за того, что намерние получает одна активити, но вот в некоторых случаях (просмотр) нужно полученный интент обрабатывать в другой активити. Код рефакторю (делаю внутреннее кеширование).
Но есть большое желание проверить, что проблема решена.
Кусок кода ниже дает постоянный доступ, во всяком случае мое приложение с ним работает правильно
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "text/plain"); // CORRECT set together !!!
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
intent.setPackage(appPackageName);
startActivity(intent);
а мне хочется для отладки воспроизвести ошибку. Чтобы активити изначальный получатель файл могла прочесть,
а после переадресации
Intent mIntent = getIntent();
mIntent.setClass(this, MainActivity.class);
startActivity(mIntent);
получала эксепшен