Kotlin-从原始资源共享音频文件

问题描述 投票:0回答:1

我有一个用于Android的音板应用程序,正在尝试使用户能够通过Messenger,Gmail等在应用程序中共享声音。这是我为此目的尝试使用的代码:

片段:

val uri = SoundProvider.getUri(4,(activity as MainActivity).packageName)
val share = Intent(Intent.ACTION_SEND)
share.type = "audio/*"
share.putExtra(Intent.EXTRA_STREAM, uri)
startActivity(Intent.createChooser(share, "Share Sound File"))

getUri函数:

fun getUri(id: Int, packageName: String):Uri{
        val uri = Uri.parse(
            ContentResolver.SCHEME_ANDROID_RESOURCE
                    + File.pathSeparator + File.separator + File.separator
                    + packageName
                    + File.separator
                    + R.raw.random_sound
        )
        return uri
    }

[不幸的是,此代码似乎不起作用,当我单击应用程序中的一个共享选项(例如gmail)时,它只会打开没有附件的空白电子邮件。与其他应用类似。有谁碰巧知道如何使这项工作?

android audio kotlin sharing
1个回答
0
投票

我认为这是正确的方法,意味着两次使用File.pathSeparator而不是连续使用3次:

ContentResolver.SCHEME_ANDROID_RESOURCE
                + File.pathSeparator + File.separator
                + packageName
                + File.separator
                + R.raw.random_sound
© www.soinside.com 2019 - 2024. All rights reserved.