Совместное использование URI / текста на экранах телевизоров Android Включите диалоговое окно Bluetooth - PullRequest
0 голосов
/ 06 мая 2019

Я хочу поделиться изображением с другими приложениями в моем приложении 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"))
    }

Однако результат тот же,Появится диалоговое окно и попросите меня включить Bluetooth.Я нажимаю на кнопку TURN ON, но ничего не происходит.Этот диалог отображается снова и снова, когда моя загрузка прошла успешно.Поэтому я не могу поделиться чем-либо.

Любая идея, если совместное использование в телевизионном приложении отличается от мобильного приложения?

enter image description here

1 Ответ

0 голосов
/ 06 мая 2019

В зависимости от типа URI, которым вы хотите поделиться с другими приложениями, вам, возможно, придется искать на сайтах их разработчиков, учитывая, что приложение должно иметь фильтры намерений, принимающие данные из внешних приложений.

Давайте сделаем то же самоесценарий для вашего приложения, если вы разрабатываете свое приложение, чтобы не получать никаких данных извне вашего приложения,

Intent.createChooser 

никогда не покажет ваше приложение в опциях для обмена.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...