Iphone iOS 7蓝牙应用程序,即使在手机重启后也能在后台处理事件

Iphone iOS 7蓝牙应用程序,即使在手机重启后也能在后台处理事件,iphone,ios7,bluetooth,core-bluetooth,background-application,Iphone,Ios7,Bluetooth,Core Bluetooth,Background Application,我想写一个跟踪应用程序,当用户上车时,它会做出反应/记录,手机会自动配对蓝牙免提。我还需要免提设备的Id 在安卓系统上,使用广播接收器,你的应用程序可以轻松收听设备与手机配对的广播。即使在手机重新启动后,该应用程序仍能正常工作,并且在重新启动后该应用程序无法运行 在iOS(7+)上可以吗?您可以通过阅读“在后台执行长期操作”部分来实现这一点 本质上,通过使用状态恢复,系统会记录应用程序被终止时正在执行的操作。 如果应用程序正在搜索蓝牙设备并被系统终止,系统将负责继续此研究,并在bt设备找到后再次

我想写一个跟踪应用程序,当用户上车时,它会做出反应/记录,手机会自动配对蓝牙免提。我还需要免提设备的Id

在安卓系统上,使用广播接收器,你的应用程序可以轻松收听设备与手机配对的广播。即使在手机重新启动后,该应用程序仍能正常工作,并且在重新启动后该应用程序无法运行


在iOS(7+)上可以吗?

您可以通过阅读“在后台执行长期操作”部分来实现这一点

本质上,通过使用状态恢复,系统会记录应用程序被终止时正在执行的操作。
如果应用程序正在搜索蓝牙设备并被系统终止,系统将负责继续此研究,并在bt设备找到后再次唤醒应用程序。

请注意,只有当应用程序被系统而不是用户(使用多任务条)杀死时,此操作才有效。此行为自iOS 7以来已发生变化。

或者,如果您的BT硬件可以编程为使用ibeacon协议发送广告,则您的应用程序可以通过corelocation/ibeacon api“唤醒”。提示之后,可能会启动核心蓝牙配对代码。

在非越狱设备中,无法通过代码启动应用程序。因此,启动时没有“以编程方式”启动。使用蓝牙设备时,如果设备已启用蓝牙并已配对,您可能会触发弹出窗口,要求使用您的应用程序。允许/拒绝AlertView,您可能会鼓励用户启动您的应用程序(并在后台执行一些操作)。我真的不想在启动时启动。我希望在蓝牙设备连接时收到通知,即使我的应用程序未运行。这就是它在安卓系统上的工作原理,而不是在iOS上的工作原理。如果你的应用程序没有运行,你将一无所获。这是你想要的功能,但现在不可能实现。也许iOS8会带来这种改进。在此之前,只有iBeacons可以用来唤醒你的应用程序。CoreBluetooth中的“在后台执行长期操作”可能会对你有所帮助。你可以把你的汽车和电话作为中央和外围设备。无法对BT HW进行编程:(你确定这在手机重新启动后仍然有效吗?到目前为止,我的测试(iOS 7.1)表明,在设备重新启动后,扫描或广告都不会恢复。如果内存压力导致应用关闭,扫描或广告会继续,应用会(短暂)恢复。