美文网首页
四、CBCentralManager的后台运行、状态保存

四、CBCentralManager的后台运行、状态保存

作者: LucXion | 来源:发表于2023-05-20 16:53 被阅读0次
一、当应用进入后台运行,收到订阅的特征值改变通知后如何弹出系统弹窗。值得注意的就是,每次特征值发生改变都会调出弹窗,不够友好。
// 发起连接时,设置 CBConnectPeripheralOptionNotifyOnNotificationKey
let options = [CBConnectPeripheralOptionNotifyOnNotificationKey: true]
centralManager.connect(peripheral, options: options)
二、应用在后台运行,如何在后台接收处理收到的通知。需要在info.plist添加权限
    <key>UIBackgroundModes</key>
    <array>
        <string>bluetooth-central</string>
    </array>
三、连接状态的保存和恢复
// 初始化CBCentralManager时通过设置 CBCentralManagerOptionRestoreIdentifierKey,系统会自动保存状态
centeralManager = CBCentralManager.init(delegate: self, queue: nil ,options:[CBCentralManagerOptionRestoreIdentifierKey: "myCentralManagermy"])

// 当APP重新从后台启动,会走代理,然后快速的恢复之前的连接状态(走连接代理,但会直接通过),并且恢复连接状态
    func centralManager(_ central: CBCentralManager, willRestoreState dict: [String : Any]) {
        appendCenteralInfo(content: "状态重连willRestoreState \(dict)")
    }

相关文章

  • 系统服务

    后台任务 &可以在命令运行时就让其在后台运行,其是运行状态ctrl + z 可以将命令放至后台,其是停止状态job...

  • iOS后台任务的分类及实现

    前言 当用户将运行App切换到后台时,系统会更改其运行状态。对大多数的应用后台状态就是切换为挂起状态(suspen...

  • [CoreBluetooth] XPC connection i

    CBCentralManager *centralManager = [[CBCentralManager all...

  • LInux后台运行Jar方法

    日志保存到默认文件 日志保存到指定文件 查看后台作业 调到前台运行 查看某端口占用的线程的pid

  • iOS 后台刷新

    [TOC] iOS 后台刷新 首先大概介绍下iOS的APP运行状态简介和后台运行的一些基础知识 1. App运行状...

  • iOS开发笔记 | 远程推送相关

    APP的三种状态 APP未运行 APP在后台运行 APP在前台运行 不同状态接收到通知时的表现 当APP在前台运行...

  • Android 判断应用前后台运行状态并获取当前 Activit

    判断应用是否处于运行状态,如果处于运行状态是在前台运行还是在后台运行,以及如何获取应用当前展示的 Activity...

  • iOS的App实现状态恢复

    有些App会要求进入后台后,二次打开时,保存上次打开的状态.这个时候我们就要在App进入后台的时候,保存当前视图的...

  • Android应用程序被系统回收后处理

    在android中如果一个应用程序被按Home键回到桌面了,这个时候应用程序就处于后台运行状态,后台运行状态的应用...

  • Android中的服务

    Android中的服务 四大组件都是运行在主线程 Android中的服务,是在后台运行 。可以理解成是在后台运行并...

网友评论

      本文标题:四、CBCentralManager的后台运行、状态保存

      本文链接:https://www.haomeiwen.com/subject/raeosdtx.html