TextInputControl SendText на телевизор LG с webOS с помощью ConnectSDK в AndroidAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 TextInputControl SendText на телевизор LG с webOS с помощью ConnectSDK в Android

Сообщение Anonymous »

Я пытаюсь отправить набранный текст с мобильного устройства Android в панель поиска в LG TV webOS, используя API ConnectSDK.
Это API, который LG публикует для использования со своими Телевизор для мобильной разработки. После подключения остается неясная документация.
Пока я могу управлять большинством вещей на телевизоре с помощью API, но не могу отправить текст в панель поиска YouTube. Следующая реализация работает, если есть панель поиска, на которую можно щелкнуть, чтобы получить фокус с клавиатуры, но это проблема с панелью поиска YouTube. Нет интерактивной области, на которой можно было бы сосредоточить внимание.

Код: Выделить всё

    webOSService?.textInputControl?.subscribeTextInputStatus(object :
TextInputStatusListener {
override fun onError(error: ServiceCommandError?) {
}

override fun onSuccess(`object`: TextInputStatusInfo?) {

}

})
......

Код: Выделить всё

val device = state.connectedDevice

val webOSService = device?.getCapability(WebOSTVService::class.java)

webOSService?.sendText("Hello!")
Это результат отправки команд:

Подключить SDK com.itgeek25.sampletvremote D webOS Socket [OUT ] : {"type":"request","id":"18","uri":"ssap://com.webos.service.ime/insertText","payload":{"text":"Привет!" ,"replace":0}
2025-01-11 01:49:22.059 19058-19134 Подключить SDK

com.itgeek25.sampletvremote D webOS Socket [IN] :
{"type":"response","id":"18","payload":{"returnValue":true}

Я пытался следить за тем, как API это реализует. Я попытался отправить специальный запрос полезной нагрузки, используя:

Код: Выделить всё

if(webOSService != null)
CustomCommand.sendCustomTextCommand(CustomCommandUri.insertTextUri,message,webOSService)

data object CustomCommand {

fun sendCustomTextCommand(uri : String, message : String, webOSTVService: WebOSTVService){
val payload = JSONObject()
payload.put("text", message)
payload.put("replace", 0)

val request = ServiceCommand(webOSTVService, uri, payload, true, null)

request.send()
}
}
На данный момент я могу запускать приложения, идти ДОМОЙ, возвращаться НАЗАД, управлять мышью, перемещать курсор ВВЕРХ, ВНИЗ, ВЛЕВО, ВПРАВО, нажимать ВВОД, отправлять СООБЩЕНИЯ. В основном все функции работают, но я не могу заставить систему ввода текста захватывать sendText и отображать соответствующий экран.
Кстати, я создаю приложение для Android, используя Jetpack Compse с MVI для хранения состояний/изменений процесса.

Подробнее здесь: https://stackoverflow.com/questions/793 ... in-android
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»