我有一个适用于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)时,它只会打开一个没有附件的空白电子邮件。与其他应用类似。有谁碰巧知道如何进行这项工作?
最佳答案
我认为这是正确的方法,这意味着连续使用File.pathSeparator 2次而不是3次:
ContentResolver.SCHEME_ANDROID_RESOURCE
+ File.pathSeparator + File.separator
+ packageName
+ File.separator
+ R.raw.random_sound
关于android - Kotlin-共享原始资源中的音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58293296/