关闭wifi后,背景中的Tizen可穿戴传感器数据丢失

时间:2016-11-06 13:42:59

标签: wifi sensor tizen

我正在为Tizen Wearable 2.3开发混合应用程序。对于该应用,加速度计和陀螺仪传感器数据被提取并以100Hz的频率写入本机服务应用中的文件。

然而,在某些试验中,我发现在关闭WiFi后几分钟后数据会丢失。例如,如果我记录数据10分钟,同时保持应用程序在后台(显示关闭)并在第五分钟关闭wifi,文件仅显示前5分钟的数据,其余数据不会写入文件。我怎么能阻止这种行为?

感谢。

2 个答案:

答案 0 :(得分:0)

最后,发现我没有在CPU上获得device_power_request_lock

device_power_request_lock( POWER_LOCK_CPU, 0);

该函数锁定给定的锁定状态无限时间,并且不允许CPU进入睡眠状态,这导致数据丢失。在记录会话后解锁CPU:

device_power_release_lock(POWER_LOCK_CPU); 

答案 1 :(得分:0)

作为上一个答案的补充,除了设置CPU锁定之外,还必须添加“传感器”的背景类别类型以防止tizen系统(我在Gear S3前沿使用tizen 3.0)杀死该应用程序由于能耗高,这是本文Is it possible to keep Tizen application alive non stop中提到的一个答案。

转到tizen-manifest.xml >>高级>>背景类别>>添加类别类型“传感器”。

在我的案例中,刚开始时,我仅将CPU锁定设置为开,并且传感器确实在后台连续记录数据。但是在启动应用程序不到十分钟的时间里,tizen系统弹出了一个窗口,询问诸如“ XXX应用程序消耗大量能量,您要关闭它”之类的信息。有趣的是,当屏幕仍为黑色时,没有振动作为通知。我几乎没有偶然发现此弹出窗口。如果您选择保持应用程序运行并认为一切都很好,那么您完全错了。系统会不时(大约10分钟)执行相同的操作,并且如果您一次都没有注意到,则您的应用程序将被杀死。 tizen文档确实是一团糟,而且大多数情况下,您只能通过试错和在线帖子的帮助来找出问题。