如何在Android应用程序(消费者)和Gear应用程序(提供程序)之间始终保持SAP连接的活动状态?

时间:2018-04-26 15:05:25

标签: android tizen-native-app

我们有一个Android应用程序可以检测各种传感器的睡眠跟踪(可以运行12小时以上),我们希望将Tizen Gear系列添加到其中。

我们使用多种方式与每种方式进行交互(BLE,服务器到服务器等)

到目前为止我做了什么 -

我有一个简单的Tizen UI应用程序(提供商),只有一个计时器运行,用户可以查看测量记录的时间长度,它使用SAP与Android应用程序(消费者)进行交互。我的基本代码来自HelloAccessory样本,看起来很好。

我还有一个服务应用程序,用于锁定CPU并启动HRM和ACC传感器跟踪。服务应用程序甚至可以在多个小时内工作,并且似乎不会消耗任何明显的电池使用量,因为我会定期请求它而不是总是这样。

问题是,经过几个小时,甚至几分钟之后,连接似乎丢失了(我得到了513 - 连接关闭),我无法恢复它。此外,似乎我必须在打开Android应用程序之前打开Gear应用程序才能使连接生效。

现在,我不需要在整个时间内保持连接,而只需要启动和停止服务应用程序并获取记录的数据,也许还需要一两个事件。

我想要的是仅通过Android应用程序与Gear应用程序进行交互,这意味着即使Gear应用程序已关闭,我仍然希望启动它并启动服务应用程序,但似乎连接已死Tizen UI应用程序。这甚至可能吗?是否有可能使用BLE / GATT进行此类连接?我希望能够按需连接Gear应用程序。

任何帮助都将被证实。如果需要代码,请告诉我。

谢谢!

1 个答案:

答案 0 :(得分:0)

就我的Tizen开发经验而言,该场景是您的进程/应用程序正在被系统终止。在最近的操作系统更新后,Tizen对电源管理非常积极。

我还没有在Accessory SDK中看到任何API函数来使用Android手机启动tizen应用程序,它只是一个通信路径。我建议你在需要时使用Tizen appControl从tizen end启动你的tizen应用程序。检查您的要求,Alarm API将是一种聪明的方式。例如:使用alarm_schedule_after_delay()函数在需要的时间段后启动应用程序。您可以在app_terminate_cb()中调用该函数,这样每次应用程序(服务/ UI)被杀死时,它都会设置一个恢复自身的计划。

此外,您可以查看this question。在OP的问题中,我们已经分享了一些保持Tizen应用程序活跃/运行的好方法,有些可能会为你的情况做好准备。