在 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 上显示带有数字和符号的软键盘?

Android-TV 应用显示白屏

在 Android TV 应用中显示 1080P 网站的问题

Android TV-电视开发知识点速览

如何在 Android TV 上创建带有步骤的设置菜单屏幕

Android TV 按钮不显示焦点可绘制对象