如何在iOS中将应用程序带到前台?

6

我正在后台监测iBeacon。当我的设备进入特定区域时,应用程序应该返回到前台。


1
你可以使用公共API做的唯一事情就是发布本地通知。 - sage444
2个回答

19

如果没有用户交互,这是无法完成的。唯一的选项是可以生成推送通知告知用户将应用程序带到前台。

这是来自苹果文档关于此问题的说明:

当操作系统发布推送通知(iOS 或 OS X)且目标应用程序未在前台运行时,它会显示通知(警报、图标徽章号码、声音)。如果有通知警报并且用户点击操作按钮(或移动操作滑块),应用程序会启动并调用一个方法传递本地通知对象或远程通知有效负载。 如果应用程序在推送通知被发送时正在前台运行,则应用程序委托接收本地或推送通知。


2
这是正确的。任何怀疑者都可以在这里看到我试图将应用程序强制置于前台的失败尝试:http://stackoverflow.com/a/22230693/1461050。值得注意的是,Android确实允许这样做。 - davidgyoung
感谢 @Khawar Ali 的帮助。已经按照您提到的方法完成了相同的事情。 - Shrinivas Kulkarni
1
这是可能的,因为当Whatsapp通话接收并关闭应用程序时,它会回到前台。而当应用程序在后台运行且Whatsapp通话接收时,应用程序会自动回到前台。 - Shakeel Ahmed
@Shakell Ahmed,你有什么想法如何处理它吗? - fobus

2
回答一些关于WhatsApp的评论,当你接收到经典语音通话时,IOS使用CallKit来显示您的通话并唤醒您的手机,但这不是在应用程序内。我尝试使用WhatsApp进行视频通话,在这种情况下会有一个通知。按下通知打开应用程序并回答通话。
结论:在IOS中无法从后台唤醒应用程序到前台,但这并不是真正的问题,因为您可以使用通知来显示您想要的内容,并在触摸通知后将用户带到您的应用程序。所有iPhone用户都熟悉这种交互方式,最好处理它。
Original Answer: 最初的回答

好的,那么如何做类似WhatsApp的应用?如何同时显示CallKit通知和屏幕? - Fasikaw

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接