【问题标题】:CoreBluetoothFramework - Does it launches the IOS application when it is not runningCoreBluetoothFramework - 它是否在 IOS 应用程序不运行时启动它
【发布时间】:2012-05-03 18:46:49
【问题描述】:

谁能告诉我 CoreBluetooth 框架是否能够启动应用程序(当它检测到使用蓝牙的新设备时通知应用程序)。当应用程序不在后台运行时。另外我想知道应用程序在后台运行时的情况。根据文档,此框架将从挂起状态启动应用程序。谁能分享一些关于这方面的信息,因为我没有 Iphone 4S 来测试这个。

提前致谢

【问题讨论】:

  • 当应用程序检测到新设备时,您是否启动了应用程序

标签: iphone ios ipad ios5 core-bluetooth


【解决方案1】:

据我所知,在没有用户干预的情况下启动应用的唯一方法是当您的应用使用 VoIP 服务时。要检测蓝牙 LE (BTLE) 设备,CBCentralManager 实例需要在您设计的应用程序的后台运行。否则,无法检测附近的 BTLE 设备。

如果你正在设计你的应用程序,core-bluetooth 有两种类型的后台启用。Event 和 Session。

事件背景
事件后台可能是大多数应用程序在与低功耗蓝牙设备交互时使用的。当应用程序在后台时,此模式不允许与附件直接通信,但当它想与应用程序通信时,它会提供来自附件的通知。当您的应用程序在后台时,iOS 将保持与 BTLE 附件的连接,并将继续监视通知。当连接的 BTLE 配件有通知可用时,iOS 会通知用户该配件想与您的 App 对话,允许用户加载您的 App 并与该配件进行交互。由于许多设备需要节省电量,因此仅在确定的时间提供信息将大大提高配件和 iPhone 4S 的电池寿命。

- 此模式不需要 info.plist 条目。

会话背景
有时应用程序必须与附件交互,即使它在后台运行。考虑一个需要实时监测心率的正在运行的应用程序。这个模型有一个明确的开始和停止。用户开始在应用程序中运行。当跑步处于活动状态时,应用程序会读取心率信息,直到跑步完成或停止。会话后台还允许在应用程序处于后台时扫描和连接到 BTLE 配件。即使应用程序在后台,scanForPeripheralsWithServices 或 connectPeripheral 调用仍将继续。 CoreBluetooth 将继续监视与您的应用程序正在寻找的服务相匹配的特定外围设备或外围设备,并在找到或连接时调用您的应用程序委托。请注意,每次 BTLE 外围设备或 iPhone 4S 使用其无线电时,都会消耗相应设备的可用电量。使用基于会话的后台的应用程序开发人员必须注意电源使用情况。

  • 会话后台需要在您的 Apps info.plist 中进入 UIBackgroundModes、bluetooth-central 的后台模式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-16
    • 2023-01-20
    • 1970-01-01
    相关资源
    最近更新 更多