我在三星智能电视上有一个应用程序。我正在从 Web 服务获取数据并在我的应用程序中显示这些数据。
我定期获取数据并相应地更新应用程序。
我想将此操作作为后台进程运行,因此它会下载数据,如果有更新,我会在用户看电视时警告用户。
我想要的另一件事是在电视启动时启动应用程序,这可能吗?
我在三星智能电视上有一个应用程序。我正在从 Web 服务获取数据并在我的应用程序中显示这些数据。
我定期获取数据并相应地更新应用程序。
我想将此操作作为后台进程运行,因此它会下载数据,如果有更新,我会在用户看电视时警告用户。
我想要的另一件事是在电视启动时启动应用程序,这可能吗?
只有 'ticker' 类型的应用程序可以在后台运行。它在欧洲不受支持,并且不会通过三星应用商店的认证。
三星智能电视支持推送通知 ( samsungdforum.com/Guide/art00080/index.html )。它将允许您在屏幕上显示弹出消息,并能够启动您的应用程序。
You cannot auto-start application on TV launch.
The only way is to use custom firmware like SamyGo (http://www.samygo.tv/)
About the "background process"... as far as we assume that JavaScript's setTimeout
or setInterval
can be used to execute application's "internal" background process, there is no problem - Just DO it! :)
But if you were thinking about system's background process - for ex. crontab of device - it's impossible.
for your second doubt Auto launch of the application is supported in ticker applications only and there is property in config file of the ticker widget :
"<ticker itemtype="boolean">y</ticker>"
if u mark it as y(as above) than you can set up auto launch of the app from Menu->smart Hub->Apps settings->auto ticker. in 2014 Samsung Smart TV models.
由于电视的内存有限,我不推荐使用 setInterval 或 setTimout 等后台进程。您可能有相同的刷新按钮。他们必须有一些 js api 来控制电视应用程序的内部方法(不确定)。无论如何,如果您真的想使用间隔/超时,请不要忘记清除它。
如此处所示,三星智能电视支持WebSocket 。当出现更新时,您的服务器应用程序可以触发 TV 应用程序。对于您的情况,它比使用 ajax 轮询服务器更有效。
(编辑)我写了一个示例应用程序来演示: https ://github.com/aksakalli/socket.io-hello-world
(编辑 2)我看到您的问题与平台限制有关。我的回答只是关于可以应用的方法,然后我在三星智能电视上的经验非常有限。