LG webOS应用无法通过Android的DIAL协议启动:HTTP 201但应用仍停止
DIAL协议投送视频至LG webOS TV应用问题排查
开发Android应用时,通过DIAL协议向LG webOS TV应用投送视频,DIAL请求成功返回HTTP 201,但TV端应用始终无法启动;当应用已运行时,也无法触发webOSRelaunch事件。
环境配置
- LG webOS TV(webOS 10.3,Chrome 120)
- 应用通过
ares-install在开发者模式下安装 - Android端使用自定义
FireTVCastPlugin发送DIAL POST请求
appinfo.json配置
{ "id": "com.wisedv.wiseott", "type": "web", "dialAppName": "com.wisedv.wiseott", "handlesRelaunch": true, "keepAlive": true, "requiredPermissions": ["internet", "tv.dial", "application.operation"] }
Android端发送请求
POST http://192.168.1.6:36866/apps/com.wisedv.wiseott Body: videoUrl=https%3A%2F%2F...&title=Amigo&vodType=MOVIE
LG TV响应
HTTP 201 Created
DIAL服务器状态检查
GET http://192.168.1.6:36866/apps/com.wisedv.wiseott <service xmlns="urn:dial-multiscreen-org:schemas:dial"> <name>com.wisedv.wiseott</name> <options allowStop="true"/> <state>stopped</state> ← 始终为停止状态,从未启动 </service>
手动用遥控器打开TV端应用时状态为运行,但通过DIAL无法启动。
LG TV应用代码(dial-handler.js)
// 监听重启事件——从未触发 window.addEventListener('webOSRelaunch', function(event) { console.log('Relaunch event received:', event.detail); // 这段代码从未执行 }); // PalmSystem.launchParams仅返回: // { "storeCaller": "home" } // 从未接收到视频参数
TV控制台日志(应用运行时,Android发送DIAL请求)
[DIAL Handler] Waiting for DIAL relaunch events... (0 received so far) [DIAL Handler] PalmSystem.launchParams: { "storeCaller": "home" } [DIAL Handler] Normal app launch (no video cast)
已尝试的解决方案
- 在appinfo.json中设置
handlesRelaunch: true - 同时监听
webOSRelaunch事件和PalmSystem.onrelaunch - 检查
window.location.search、window.location.hash和PalmSystem.launchParams - 设置
keepAlive: true使应用驻留内存 - 调用
PalmSystem.activate()将应用带到前台
内容的提问来源于stack exchange,提问作者Niraj Paradva
相关产品推荐
相关产品推荐

