解锁 iPhone 时推送通知警报会打开应用程序

Posted

技术标签:

【中文标题】解锁 iPhone 时推送通知警报会打开应用程序【英文标题】:Push Notification Alert opens app when unlocking an iPhone 【发布时间】:2010-10-13 18:58:02 【问题描述】:

我看到一个非常奇怪的行为,我试图了解它是这样设计的,还是我的应用程序没有正确处理。

我的应用以 UIAlertViews 的形式发送推送通知。 当设备未锁定时,UIAlertViews 会出现两个按钮,如果用户点击右侧按钮,我的应用程序就会启动。

我注意到的是,如果设备被黑屏以节省电量并且用户点击主页按钮并且我的应用程序有一个推送通知警报,只有 OK 按钮在那里等待他,如果他滑动到解锁设备他自动进入我的应用。

这是正常行为还是某种错误?我认为只有带有两个按钮的 UIAlertViews 才允许用户启动应用程序。

【问题讨论】:

【参考方案1】:

如果推送通知消息被发送到锁定的手机,它会在那里停留大约五分钟。当用户滑动解锁时,发送通知的应用被打开。

这是默认行为,看看 SMS-app 和 Calendar-app 是如何做到的。

【讨论】:

【参考方案2】:

对我来说(OS 4.1),正常行为是推送通知取消屏幕空白并显示没有按钮的警报;滑块说“滑动到动词”。如果手机重新进入睡眠状态并再次被唤醒(通过等待或按下睡眠开关),它会显示“滑动解锁”并且解锁不会启动应用程序。

我没有看到“确定”按钮(可能是 OS 4.2 的功能;如果有,请不要在这里讨论)。

无论哪种方式,用户只有三个选择:

不要解锁手机 解锁手机并忽略通知 解锁手机并启动应用程序

在选择如何处理通知之前让用户解锁会增加不必要的步骤,并且让用户在不解锁手机的情况下点击 VERB 按钮有点愚蠢。常见的情况是用户希望立即查看通知(并回复文本或其他内容)。不常见的情况是用户会想要忽略通知(所以按 OK 然后解锁,或者睡眠/唤醒然后解锁,或者解锁并立即关闭应用程序)。如果通知令人讨厌,那么用户只需为特定应用禁用它们。

【讨论】:

:你能告诉我吗,我们可以控制是否在代码中启动应用程序或者它是根据 iPhone 版本的默认行为。 @python:没什么意义。自从我的答案发布以来,Apple 已经发布了带有通知中心和一系列相关设置的 ios 5。 Apple 将为用户提供一种启动您的应用程序的方法,一种不启动您的应用程序的方法,以及一种禁用您的应用程序通知的方法。如果用户在看到通知时启动您的应用程序没有意义,那么显示通知可能根本没有意义。另一方面,Apple 不会让你强制启动应用程序。

以上是关于解锁 iPhone 时推送通知警报会打开应用程序的主要内容,如果未能解决你的问题,请参考以下文章

解锁 iPad 时推送通知警报会打开应用程序

应用程序运行时,iOS 推送通知显示为 UIAlert

没有推送通知的 iPhone 应用程序警报?

推送通知 iPhone 中的声音

iOS -- 我想更改语言警报推送通知

如何清除状态栏上的推送通知警报 - android