智能电视上的后台应用程序

18

我在三星智能电视上有一个应用程序。我从Web服务中获取数据并在我的应用程序中显示这些数据。

我周期性地获取数据并相应地更新应用程序。

我希望将此操作作为后台进程运行,以便下载数据,并且如果有更新,则在用户看电视时警告用户。

我想要的另一件事是在电视启动时启动应用程序,这可能吗?


谢谢您添加标签。我担心31个关注者不够;) 顺便问一下,什么是操作系统? - olamotte
这是三星智能电视上安装的固件。可以运行HTML、JS、CSS或单独的Flash电影文件。 - totten
嗨,你找到在后台运行应用程序的解决方案了吗? - julius_am
股票应用程序正在按照我的要求运行。唯一不可能的事情是将应用程序添加到电视的启动项中。 - totten
5个回答

7

只有'ticker'类型的应用程序可以在后台运行。它在欧洲不受支持,并且不会通过Samsung Apps商店的认证。

Samsung Smart TV支持推送通知(samsungdforum.com/Guide/art00080/index.html)。它将允许您在屏幕上显示弹出消息,并能够启动您的应用程序。


4

针对您的第二个疑问,只有股票应用程序才支持自动启动。在股票小部件的配置文件中有一个属性:

"<ticker itemtype="boolean">y</ticker>"

如果您将其标记为“y”(如上所述),则可以在2014年三星智能电视型号中从菜单->智能中心->应用程序设置->自动滚动条中设置应用程序的自动启动。

4

您无法在电视启动时自动启动应用程序。

唯一的方法是使用定制固件,如SamyGo(http://www.samygo.tv/)

关于“后台进程”...只要我们假设JavaScript的setTimeoutsetInterval可以用于执行应用程序的“内部”后台进程,那就没有问题 - 只需要这样做! :)

但是,如果您考虑的是系统的后台进程 - 例如设备的crontab - 这是不可能的。


它的SDK是否支持WebWorker HTML5 API?如果是的话,那就比setInterval更好。 - David-SkyMesh

2

由于电视内存有限,我不建议使用像setInterval或setTimout这样的后台进程。您可以为此使用刷新按钮。 而且他们必须有一些js api来控制电视应用程序的内部方法(不确定)。无论如何,如果您真的想使用interval/timeout,请不要忘记清除它。


1
作为一个演示,这里展示了三星智能电视支持WebSocket。当有更新时,您的服务器应用程序可以触发电视应用程序。对于您的情况,这比使用ajax轮询服务器更有效率。
(编辑)我编写了一个样例应用程序来演示:https://github.com/aksakalli/socket.io-hello-world (编辑2)我看到您的问题与平台限制有关。我的答案只是关于可以应用的方法,因为我在三星智能电视方面的经验非常有限。

WebSocket从SDK 2012开始得到支持(不支持2011年和2010年的设备)。此外,并非所有设备都具有相同的支持,即使是具有相同型号编号的设备也是如此。一些设备仅支持较旧的hixie-76版本的WebSocket协议(该协议仅受少数服务器支持)。 - simon
Socket.IO可以作为一个跨浏览器的WebSocket API来使用。它会尝试使用websocket、Flash、长轮询等方式,然后找到一种支持socket应用程序的方法。我在github上编写了一个示例代码,在电视浏览器上进行了测试,并且在连接到它的许多电视上都运行良好。https://github.com/aksakalli/socket.io-hello-world - Can Guney Aksakalli

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接