LG webOS app not launching via DIAL protocol from Android — HTTP 201 but app stays stopped
I’m building an Android app that casts videos to an LG webOS TV app using the DIAL protocol. The DIAL request succeeds (HTTP 201) but the app never launches on the TV. When the app is already running, no webOSRelaunch event fires either.
Setup:
-
LG webOS TV (webOS 25, Chrome 120)
-
App installed via
ares-installin developer mode -
Android sends DIAL POST request using a custom
CastPlugin
appinfo.json:
{
"id": "com.wisedv.wiseott",
"type": "web",
"dialAppName": "com.wisedv.wiseott",
"handlesRelaunch": true,
"keepAlive": true,
"requiredPermissions": ["internet", "tv.dial", "application.operation"]
}
Android sends: via Java code in android phone application
POST http://192.168.1.6:36866/apps/com.wisedv.wiseott
Body: videoUrl=https%3A%2F%2F...&title=Amigo&vodType=MOVIE
LG TV responds:
HTTP 201 Created
DIAL server status check: it’s stopped when not open when I manually open app in tv that status is running
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> ← always stopped, never launches
</service>
when i manually using remote open app in lg tv that satus os running but not launch via dail
LG TV app (dial-handler.js): this never run i also not see any tv log before app launch what is error of not launch that app
// Listening for relaunch event — never fires
window.addEventListener('webOSRelaunch', function(event) {
console.log('Relaunch event received:', event.detail);
// This NEVER runs
});
// PalmSystem.launchParams only returns:
// { "storeCaller": "home" }
// No video params ever received
TV console logs (app running, DIAL request sent from Android): manually open an app after I see this
[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)
What I have tried:
-
handlesRelaunch: truein appinfo.json -
Listening to both
webOSRelaunchevent and PalmSystem.onrelaunch -
Checking window.location.search, window.location.hash, and PalmSystem.launchParams
-
keepAlive: trueto keep app in memory -
PalmSystem.activate() to bring app to foreground