我有一个适用于Android的Soundboard应用程序,正在尝试使用户能够通过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)时,它只会打开没有附件的空白电子邮件。与其他应用类似。有谁碰巧知道如何做这项工作?
答案 0 :(得分:0)
我认为这是正确的方法,这意味着两次使用File.pathSeparator而不是连续使用3次:
ContentResolver.SCHEME_ANDROID_RESOURCE
+ File.pathSeparator + File.separator
+ packageName
+ File.separator
+ R.raw.random_sound