BlackBerry 10中的run_when_backgrounded和invisible()状态

时间:2013-08-15 07:19:30

标签: background-process blackberry-10 invisible blackberry-cascades qtimer

我正在实施BlackBerry 10 Cascade应用程序。它使用QTimer类并具有以下代码。

connect(timer, SIGNAL(timeout()), this, SLOT(update()));

这是有效的,并根据给定的时间段调用update()函数。它适用于前台应用程序(应用程序占用整个屏幕)以及应用程序作为活动框架运行时(应用程序处于缩略图状态)。

我还在bar-descriptor.xml中给出了以下权限。

<permission>run_when_backgrounded</permission>

但是当用户按下十字标记(☓)时,整个过程停止。根据{{​​3}}

  

当应用有权在后台运行时,没有   停止状态

我想知道的,

1。)有没有一种方法可以在活动框架中以编程方式消除十字标记(☓)?

如果不是

2.。即使应用程序停止,我如何运行QTimer?简单当我的级联应用程序停止时,如何在没有UI的情况下运行后台进程。

3。)在 bar-descriptor.xml 中提供 run_when_backgrounded 权限以在后台运行应用程序是否足够?

管理应用程序状态 下的同一文档页面中,存在invisible()状态。但是那里给出的BB10 Cascade Documentation无法在包含以下

的级联应用程序类中实现
#include <bb/cascades/Application>

仅适用于#include <bb/Application>

1 个答案:

答案 0 :(得分:3)

你想要的是一个无头的应用程序。你会找到你需要的任何东西here。基本上,您有两种模式:基于事件(您的应用程序将启动以响应事件,如传入的SMS),或始终运行。始终运行应用程序需要获得BlackBerry的批准。

请注意,目前尚不支持无头应用。它们是在10.2 SDK中引入的,该SDK昨天已经作为黄金发布。你也需要一个10.2操作系统(尚未部署,但test, stripped down versions除外)才能使用它们。

你所谈论的invisible状态涉及非无头应用程序:如果应用程序位于前台,则视为可见;如果应用程序处于活动帧状态,则视为不可见,或者前面有另一个应用程序。< / p>