【发布时间】:2020-10-28 16:50:27
【问题描述】:
我使用此代码存储 pdf 文件:
val intent = Intent().apply {
action = Intent.ACTION_CREATE_DOCUMENT
addCategory(Intent.CATEGORY_OPENABLE)
type = "application/pdf"
putExtra(Intent.EXTRA_TITLE, file.name)
}
startActivityForResult(intent, SAVE_FILE_REQUEST_CODE)
在 onActivityResult 之后,我使用 OutputStream 保存数据。 Uri 到文件可能如下所示:
content://com.android.providers.downloads.documents/document/4594
or
content://com.google.android.apps.docs.storage/document/documentId
但是当我尝试以此意图启动活动时,pdf 查看器应用程序显示错误:
val openFileIntent = Intent(Intent.ACTION_VIEW, contentUri)
.apply {
setDataAndType(contentUri, "application/pdf")
addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_NEW_TASK)
}
是否可以从内容 Uri 打开 pdf 查看器活动?
【问题讨论】:
-
pdf 查看器显示哪个错误?
-
你应该设置一个标志 Intent.GRAND_READ_URI (或其他任何名称)。
-
@blackapps,谢谢。标志:Intent.FLAG_GRANT_READ_URI_PERMISSION 已解决问题。
标签: android android-10.0