启动时启动tizen应用程序

时间:2015-07-17 20:01:48

标签: tizen tizen-wearable-sdk

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

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

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

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

此外,您可能不希望您的应用在强行关闭后10分钟弹出,因此您可以使用

读出开始参数
tizen.application.getCurrentApplication().getRequestedAppControl().appControl.data 

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