在Android TV显示器上共享URI /文本打开蓝牙对话框

时间:2019-05-06 18:25:25

标签: android kotlin android-tv android-sharing

我想与我的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按钮,但没有任何反应。只要我的上传成功,此对话框就会一次又一次显示。因此,我无法分享任何内容。

您知道在电视应用程序上共享与在移动应用程序上共享吗?

enter image description here

1 个答案:

答案 0 :(得分:0)

根据要与其他应用程序共享的URI的类型,您可能必须搜索其开发者的网站,因为应用程序应该具有意图过滤器,以接受来自外部应用程序的数据。

如果您开发的应用程序不接收来自应用程序外部的任何数据,则为您的应用程序提供相同的场景

Intent.createChooser 

将永远不会在共享选项中显示您的应用。

https://developer.android.com/guide/components/intents-filters.html