首页 > 解决方案 > Android意图选择器工作但不发送文件

问题描述

所以我试图在我的应用程序中共享一个文本文件。选择器出现并允许我选择一个应用程序,但无论我选择与什么共享文件,总会有某种错误阻止文件实际发送。例如,Gmail 显示“无法附加文件”,而 Facebook Messenger 显示“错误:出了点问题。请稍后再试”。这是我的代码:

        val filePath = "/data/user/0/com.wellerstudios.doctrinalmastery/files/backup/Lists.txt"
        val file = File(filePath)
        val fileUri: Uri = FileProvider.getUriForFile(context!!, "com.wellerstudios.fileprovider", file)
        Toast.makeText(context, fileUri.toString(), Toast.LENGTH_SHORT).show()
        val intent: Intent? = Intent(Intent.ACTION_SEND)
            .setType("text/*")
            .putExtra(Intent.EXTRA_STREAM, fileUri)
            .addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
        val chooser = Intent.createChooser(intent, "Share via...")
        startActivity(chooser)

并且文件提供程序和文件路径 xml 文件都与此代码匹配,所以不是这样。其他人似乎使用相同(或相似)的代码并让它工作,但我的没有,我不知道为什么。此外,值得注意的是,我确实对文件路径使用了其他形式,而不是通过字符串指定它,但我正在试验它,看看这是否能解决我的问题。

标签: androidfileshare

解决方案


推荐阅读