在 Android 台电视显示器上分享 URI/Text 打开蓝牙对话框
Share URI/Text on Android TV displays Turn on Bluetooth Dialog
我想在我的 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
按钮但没有任何反应。每当我上传成功时,此对话框会一次又一次地显示。因此,我无法分享任何东西。
知道在电视应用上分享与在移动应用上分享是否不同吗?
根据您想要与其他应用共享的 URI 类型,您可能必须搜索他们的开发者网站,前提是应用程序应该具有接受来自外部应用程序的数据的 Intent 过滤器。
如果您将应用程序开发为不从应用程序外部接收任何数据,那么让我们为您的应用程序设置相同的场景
Intent.createChooser
绝不会在分享选项中显示您的应用。
https://developer.android.com/guide/components/intents-filters.html
我想在我的 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
按钮但没有任何反应。每当我上传成功时,此对话框会一次又一次地显示。因此,我无法分享任何东西。
知道在电视应用上分享与在移动应用上分享是否不同吗?
根据您想要与其他应用共享的 URI 类型,您可能必须搜索他们的开发者网站,前提是应用程序应该具有接受来自外部应用程序的数据的 Intent 过滤器。
如果您将应用程序开发为不从应用程序外部接收任何数据,那么让我们为您的应用程序设置相同的场景
Intent.createChooser
绝不会在分享选项中显示您的应用。
https://developer.android.com/guide/components/intents-filters.html