在 Android TV 显示器上共享 URI/文本 打开蓝牙对话框
Posted
技术标签:
【中文标题】在 Android TV 显示器上共享 URI/文本 打开蓝牙对话框【英文标题】:Share URI/Text on Android TV displays Turn on Bluetooth Dialog 【发布时间】:2019-09-24 09:41:05 【问题描述】:我想与我的 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"))
我什至将onImageUploadedSuccessfully()
更改为以下方法以共享URI。
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
按钮,但没有任何反应。每当我的上传成功时,此对话框就会一次又一次地显示。因此,我无法分享任何内容。
知道电视应用上的分享与移动应用上的分享是否不同吗?
【问题讨论】:
【参考方案1】:根据您希望与其他应用共享的 URI 类型,您可能需要搜索其开发者的网站,因为应用应该具有从外部应用接收数据的意图过滤器。
让我们为您的应用提供相同的场景,如果您将应用开发为不接收来自应用外部的任何数据,那么
Intent.createChooser
永远不会在共享选项中显示您的应用。
https://developer.android.com/guide/components/intents-filters.html
【讨论】:
谢谢何塞。我明白如果我收到“没有应用程序可以执行此操作”,但这个蓝牙对话对我来说很奇怪。 我正在阅读更多,因为我很好奇,我发现了一些与谷歌禁用共享照片功能相关的新闻。 theverge.com/2019/3/4/18250552/… [originalweet](twitter.com/wothadei/status/1102089147596992512) 这是启动一切的推文,如果我发现有用的东西,平台上可能会发生一些变化,我会在这里分享。 哇,这很有趣。感谢调查。无论如何,由于某些隐私原因,我的团队昨天决定禁用该功能。这可能是模拟器上的一个错误,到目前为止我还没有时间在 STB 或 Android TV 上对其进行测试。以上是关于在 Android TV 显示器上共享 URI/文本 打开蓝牙对话框的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Android TV 上显示带有数字和符号的软键盘?