设备处于睡眠状态时调用 didReceiveApplicationContext?

Posted

技术标签:

【中文标题】设备处于睡眠状态时调用 didReceiveApplicationContext?【英文标题】:Call didReceiveApplicationContext while device is asleep? 【发布时间】:2017-03-19 03:32:39 【问题描述】:

当我单击 Apple Watch 应用中的按钮时,我想取消 iPhone 应用安排的本地通知。

现在,我正在使用 updateApplicationContext 方法发送信息以在手表和手机之间传输信息,并通过 didReceiveApplicationContext 方法取消本地通知。

目前,didReceiveApplicationContext 仅在应用打开时被调用。这意味着如果我在此期间没有打开应用程序,通知仍然会出现。我需要确保即使我不打开应用程序也不会出现通知。

有什么方法可以在设备休眠或应用不在前台时在后台调用 didReceiveApplicationContext 吗?

【问题讨论】:

【参考方案1】:

不,为此,您必须检查 WatchKit 扩展的 WCSessionreachable 属性是否为 true/YES,如果它是使用 sendMessage API 之一,因为这些可以在后台唤醒 ios 应用。

【讨论】:

非常感谢!

以上是关于设备处于睡眠状态时调用 didReceiveApplicationContext?的主要内容,如果未能解决你的问题,请参考以下文章

哪些事件可以唤醒处于睡眠状态的 Android 设备?

设备处于睡眠模式时的 URLConnection 不起作用

设备处于睡眠模式时不会出现 Android GCM 通知

网络设备之侦测连接状态

即使手机处于睡眠状态,也要保持服务运行?

当应用程序处于活动状态时,iOS 处理推送通知点击