0

我在 Tizen 中有一个应用程序,我想在手表启动时运行它。这是我的app.js样子:

$(document).ready(function() {
    document.addEventListener('tizenhwkey', function(e) {
        if(e.keyName == "back") {
            tizen.application.getCurrentApplication().exit();
        }
    });
// The rest of the program
}

现在,我可以看到服务应用程序可以在启动时执行,这里解释了构建服务应用程序的必要步骤。但是,我无法将这些主题与我的应用程序联系起来。如果我想在启动时启动我的应用程序,是否需要将其更改为服务应用程序?我需要做哪些改变?

4

2 回答 2

0

是的你可以。如果您了解有关 Web 服务应用程序的要点,它将不会提供 UI。

要将 Web 应用程序转换为 Web 服务应用程序,您需要在 config.xml 文件中附加以下代码

 <widget>
      <tizen:service id="websvcapp0.service1" auto-restart="true" on-boot="false">
      <tizen:content src="service/service1.js" />
      <tizen:name>WebServiceApplication1</tizen:name>
      <tizen:icon src="icon1.png" />
      <tizen:description>WebServiceApplication1</tizen:description>
   </tizen:service>
 </widget>

config.xml 的最终外观将是这样的

<?xml version="1.0"encoding="TF-8">
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:tizen=http://tizen.org/ns/widgets
        id="http://yourdomain/WebServiceApplication" version="1.0.0" viewmodes="maximized">
   <tizen:application id="websvcapp0.WebServiceApplication" package="websvcapp0" required_version="2.3" />
   <content src="index.html" />
   <feature name="http://tizen.org/feature/screen.size.all" />
   <icon src="icon.png" />
   <name>WebServiceApplication</name>
   <tizen:service id="websvcapp0.service1" auto-restart="true" on-boot="false">
      <tizen:content src="service/service1.js" />
      <tizen:name>WebServiceApplication1</tizen:name>
      <tizen:icon src="icon1.png" />
      <tizen:description>WebServiceApplication1</tizen:description>
   </tizen:service>
</widget>

并添加以下权限

  <tizen:feature name="http://tizen.org/feature/web.service"/>

此链接提供了创建 Web 服务应用程序要遵循的完整方法。

  • 创建服务应用
  • 打包
  • 发射
  • 终止

https://developer.tizen.org/dev-guide/wearable/2.3.0/org.tizen.wearable.web.appprogramming/html/tutorials/service_tutorial/service_app_tutorial.htm

于 2015-07-20T19:46:18.310 回答
0

对于旧版本的 Tizen (web),我发现了一个非常非常肮脏的解决方法(但是如果基本功能不可用,你能做什么?)。

您可以发出警报(基本上是预定的应用程序启动)并将其设置为每 10 分钟左右启动您的应用程序。要么您的应用程序一直在后台运行(通过覆盖“关闭应用程序”手势并启用在后台运行)并且就在该警报触发之前(9 分 55 秒左右),您将删除该警报并将其重置为 10 分钟。这样,您的应用程序几乎总是会运行,并且会在启动时启动。但是如果你强行关闭它(使用应用程序管理器),它可能需要 10 分钟才能再次运行。

此外,您可能不希望您的应用在强行关闭后 10 分钟弹出打开,因此您可以读取启动参数

tizen.application.getCurrentApplication().getRequestedAppControl().appControl.data 

并在启动后立即隐藏应用程序(100 毫秒)。该应用程序将弹出并立即再次关闭。我无法阻止这种情况发生,但这是一种可以接受的解决方法。

于 2016-05-17T08:37:34.033 回答