2

我想让接口控制器检查以确保当我收到电话回复时它仍在前台。如果是,请执行触觉以让用户知道它已完成工作。

sendMessage:replyHandler:是我用来与手机通信的东西,但它可能需要很长时间才能返回。InterfaceController设置为WCSessionDelegate. 用户可以在完成之前降低手腕可能需要足够长的时间。在这种情况下,我想捕获不触发的触觉。到目前为止,触觉可以排队,然后在未来的随机时间播放,这没有帮助。

我已配置要发送的通知,但仅在手表未显示应用程序时才会显示。因此,为什么我需要在尝试播放触觉之前弄清楚界面控制器是否在屏幕上。

4

2 回答 2

0

我首先会考虑改进 iOS 代码,因此返回回复不需要很长时间。

但是,您可以在回复消息中包含当前日期,然后让回复处理程序在播放触觉之前检查回复是否立即生效。如果在您的应用下次激活时处理了回复,这将避免它在将来播放。

顺便说一句,界面控制器在屏幕上,因为它正在执行回复处理程序。

于 2016-04-20T20:17:34.117 回答
-1

我建议的步骤。

  1. sendMessage:replyHandler:从 Watch 发送任务请求,这将要求手机执行一些长时间运行的任务。
  2. 在观看此呼叫时制作一些 BOOL,假设shouldUpdatePhone = YES
  3. 现在考虑您的任务正在运行并且 Watch 处于 InActive 状态,在这种情况下,您的 Flag ( shouldUpdatePhone) 为 YES,因此只需再次立即调用并告诉 iPhone Screen 现在处于 inActive 状态。
  4. 如果长时间运行的任务在此之后完成,您将获得 Watch 现在处于非活动状态的信息,然后避免 Haptic 的响应信号。
于 2016-04-21T06:18:09.903 回答