Мое приложение генерирует файлы PDF или EPUB, и когда создание файла завершено, мне нужно предложить пользователю открыть файл в другом приложении.
В настоящее время мое приложение может создать файл , и отображается сообщение об обмене файлом.
Проблема заключается в том, что в этом приглашении предлагается выбрать приложение для отправки файла, а мне нужно открыть файл с помощью приложения, такого как Google Play Books, или любой читатель epub. Если файл PDF, я думаю, я бы хотел увидеть onedrive или мое приложение для принтера.
Вот мой код:
private fun openFile(fileName: String) {
val file = File(absolutePath, fileName)
val uri = Uri.fromFile(file).normalizeScheme()
val mimeValue = getMimeType(uri.toString())
val contentUri = FileProvider.getUriForFile(
requireContext(),
"${requireContext().packageName}.fileprovider",
file
)
if (uri != null) {
val intent = ShareCompat.IntentBuilder
.from(requireActivity())
.setType(mimeValue)
.setStream(contentUri)
.intent
intent.data = contentUri
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
requireContext().startActivity(Intent.createChooser(intent, "Open file with"))
}
}
Thx!