如何解决如何使用 Scoped Storage android 共享 pdf
我想将 PDF 文件从我的应用程序共享到其他应用程序,例如 whatspp、gmail 等。从 Android 11 引入了范围存储。我从 Environment.getExternalStoragePublicDirectory
获取 uri,但它已被弃用,否则我们应该使用范围存储,否则从Android 12 不会返回任何内容。
val file = File(
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).absolutePath,fileName
)
val uri = Uri.parse(pdfUrl)
val share = Intent()
share.flags = Intent.FLAG_GRANT_READ_URI_PERMISSION
share.action = Intent.ACTION_SEND
share.type = "application/pdf"
share.putExtra(Intent.EXTRA_STREAM,uri)
startActivity(Intent.createChooser(share,"Share"))
根据 Android 文档,我们有三个意图
-
ACTION_CREATE_DOCUMENT
-> 意图操作允许用户将文件保存在特定位置。 -
ACTION_OPEN_DOCUMENT
意图操作允许用户选择要打开的特定文档或文件。 -
ACTION_OPEN_DOCUMENT_TREE
Intent 操作允许用户选择特定目录,从而授予您的应用访问该目录中所有文件和子目录的权限。
但以上意图操作在我的情况下不起作用。我想向用户显示不同的共享选项,以便用户可以与其他应用共享文件。
我该怎么办?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。