我想与我的Android TV 应用程序中的其他应用程序共享图像。当用户单击按钮时,我要上传图像,并且要共享其URL(作为文本)或URI。所以,这是我的代码:
val bitmap = ......
btnAccept.setOnClickListener {
val userId = Storage.getInstance(playerView.context).getUserId()
vm.storeImageInDatabase(userId, bitmap, ::onImageUploadedSuccessfully)
}
private fun onImageUploadedSuccessfully(url: String) {
val sendIntent: Intent = Intent().apply {
action = Intent.ACTION_SEND
putExtra(Intent.EXTRA_TEXT, url)
type = "text/plain"
}
startActivity(Intent.createChooser(sendIntent, "Share"))
}
为了共享URI,我甚至将onImageUploadedSuccessfully()
更改为以下方法。
private fun onImageUploadedSuccessfully(url: String) {
val sendIntent: Intent = Intent().apply {
action = Intent.ACTION_SEND
putExtra(Intent.EXTRA_STREAM, Uri.parse(url))
type = "image/jpg"
}
startActivity(Intent.createChooser(sendIntent, "Share"))
}
但是,结果是相同的。出现“对话框”之后,要求我启用蓝牙。我点击了TURN ON
按钮,但没有任何反应。只要我的上传成功,此对话框就会一次又一次显示。因此,我无法分享任何内容。
您知道在电视应用程序上共享与在移动应用程序上共享吗?
答案 0 :(得分:0)
根据要与其他应用程序共享的URI的类型,您可能必须搜索其开发者的网站,因为应用程序应该具有意图过滤器,以接受来自外部应用程序的数据。
如果您开发的应用程序不接收来自应用程序外部的任何数据,则为您的应用程序提供相同的场景
Intent.createChooser
将永远不会在共享选项中显示您的应用。
https://developer.android.com/guide/components/intents-filters.html