首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    全面解读系统更新,收藏下这份 Android 12 (S) 版本适配自查表

    用户体验(以 Android 12 为目标版本) 1.1 自定义通知外观模板统一 Android 系统通知可以分为两类样式:标准通知 + 自定义通知 标准通知:标准通知是指基于 NotificationCompat.Builder... 新蓝牙权限体系(以 Android 12 为目标版本): BLUETOOTH_SCAN:允许搜索附近蓝牙设备; BLUETOOTH_ADVERTISE:允许当前设备暴露给其他蓝牙设备...旧蓝牙权限体系: BLUETOOTH:允许与蓝牙相关的交互; ACCESS_FINE_LOCATION(必选):允许由蓝牙信息推导设备位置信息,在 Android 9 或以下版本,可以用 ACCESS_COARSE_LOCATION...,会暂时性地显示系统栏,并等待一小段时间后自动重新隐藏。...5.6 隐藏应用叠加窗口(新功能) Android 12 系统引入了隐藏 TYPE_APPLICATION_OVERLAY 窗口的功能。

    2.9K10

    蓝牙门禁系统

    最近准备春招,把项目整理下,项目分为EF为核心的后台程序与移动客户端,以及蓝牙锁。我呢?...负责Android客户端与后台程序开发,开锁人员通过移动客户端申请开锁任务,短信通知管理员审核通过以后进行开锁操作或者管理员主动安排任务开锁人员。  ...深入部分:   1.加解密部分:C语言AES-128加密算法,动态编译成dll文件,封装到一个类,声明两个方法(头部引入具体的dll文件,并对蓝牙传输的数据帧其中的部分数据进行加密;   3.核心Socket...通信 读阻塞 写不阻塞   4.多级菜单(详情见蓝牙门禁Android客户端)   问题:   C加密算法编译成dll文件出现调用加解密算法失败缺少其他dll文件?...--服务+广播机制去实现(详情见蓝牙门禁Android客户端)   扩展:   后续由于蓝牙2.0模块的功耗与有效距离的问题,转用蓝牙4.0模块,客户端更新连接代码

    1.3K80

    APP蓝牙通信的开发

    在开发APP的蓝牙通信功能时,以下是非代码层面的关键步骤和注意事项。1.明确需求功能需求:确定需要实现的功能,如数据传输、设备控制等。设备兼容性:确保支持目标设备的蓝牙版本(如BLE)。...Android:使用Android Bluetooth API或BluetoothGatt。3.权限配置iOS:在Info.plist中添加蓝牙权限描述。...Android:在AndroidManifest.xml中声明蓝牙权限。4.蓝牙设备扫描扫描设置:确定扫描参数,如扫描时间、设备过滤条件。设备发现:处理发现的设备信息,如名称、信号强度。...连接管理:处理连接成功、失败和断开的情况。6.服务与特征值服务发现:获取设备的GATT服务列表。特征值操作:读取、写入或订阅特征值。7.数据传输数据格式:定义数据格式和协议。...传输方式:选择合适的传输方式,如写入、通知或指示。8.错误处理常见错误:处理连接失败、数据传输错误等。重试机制:在必要时实现重试逻辑。9.用户界面设备列表:展示扫描到的设备。

    5610

    Android 5.0 API新增和改进

    要控制公开程度的级别,请调用 setVisibility() 并指定下列值之一: VISIBILITY_PRIVATE:显示基本信息(例如通知图标),但隐藏通知的全部内容。...如果公开程度级别为 VISIBILITY_PRIVATE,您还可以提供隐藏了个人详细信息的通知内容修改版本。例如,短信应用的通知可能会显示“您有 3 条新短信”,但隐藏短信内容和发送者。...低功耗蓝牙 Android 4.3 中作为重头戏引入了对低功耗蓝牙(“低功耗蓝牙”)的平台支持。在 Android 5.0 中,Android 设备现在可以用作低功耗蓝牙外围设备。...回调对象将收到关于公告操作成功或失败的报告。 Android 5.0 引入了 ScanFilter 类,以便您的应用可以仅扫描它感兴趣的特定类型的设备。...当任务锁定处于活动状态时,会发生以下行为: 状态栏为空,并且用户通知和状态信息被隐藏。 首页和“最近的应用”按钮被隐藏。 其他应用无法启动新活动。

    1.7K20

    Android BLE 蓝牙开发,连接蓝牙设备进行通讯

    针对低功耗蓝牙通讯,Android 4.3(API 18)开始引入了 BLE 库。我们可以直接使用 Android SDK 中的蓝牙 BLE 库,而不用额外导入依赖库。...如果要执行蓝牙扫描功能,我们需要申请:android:name="android.permission.BLUETOOTH_SCAN" />权限 如果要执行蓝牙链接,开关蓝牙...2.重复扫描会失败。不能说是失败了,而是系统会将重复扫描的请求进行阻止,关键的问题在于这个阻止操作是手机厂商定制的。...UUID值,跟通知的特性的UUID比较。...同时一个蓝牙设备对象,可能有多种服务功能。 如果不想自己写线程变量轮询设备发送过来的消息,就通过注册消息监听。让BLE框架帮我们进行轮询之后,再通知到我们。

    5.6K20

    Android BLE 基础框架全新改版

    Android BLE基础操作框架,基于回调,操作简单。包含扫描、多连接、广播包解析、服务读写及通知等功能。...; 支持操作设备数据失败重试; 支持绑定数据收发通道,同一种能力可绑定多个通道; 支持注册和取消通知监听; 支持配置最大连接数,超过最大连接数时会依据 Lru 算法自动断开最近最久未使用设备; 支持配置扫描...-23 android:name="android.permission.ACCESS_COARSE_LOCATION"/> 因为蓝牙在 6.0 以上手机使用了模糊定位功能,所以需要添加模糊定位权限。....setOperateRetryInterval(1000)//设置数据操作失败重试间隔时间 .setMaxConnectCount(3);//设置最大连接设备数量//蓝牙信息初始化...还有需要注意的是,蓝牙配置必须在蓝牙初始化前进行修改,如果默认配置满足要求也可以不修改配置。

    2.1K70

    【Android 应用开发】BluetoothAdapter解析

    这篇文章将会详细解析BluetoothAdapter的详细api, 包括隐藏方法, 每个常量含义. ..., 则返回结果吗RESULT_OK; 如果蓝牙模块打开失败, 则返回结果码RESULT_CANCELED; 打开和关闭蓝牙模块, 都可以通过ACTION_STATE_CHANGED广播来监听; 蓝牙可见...权限; (4)打开蓝牙 public boolean enable(); 作用 : 打开本地蓝牙适配器; 返回值 : 如果打开成功则返回true, 如果打开失败返回false; 权限 : BLUETOOTH_ADMIN...权限; (5)关闭蓝牙 public boolean disable(); 作用 : 关闭本地设备蓝牙; 返回值 : 如果关闭蓝牙成功, 返回true; 如果关闭蓝牙失败, 返回false; 权限 :..., 蓝牙搜索是一个服务进行, 在搜索中的时候, 不能进行连接; 返回值 : 如果取消成功, 则返回true; 如果取消失败, 返回false; (4)获取扫描模式 public int getScanMode

    2.2K40

    物联网来了,你还不会蓝牙开发?

    本文主要讲解Android低功耗蓝牙的api使用以及蓝牙扫描、连接、发送数据、接收数据等一系列操作,并主要介绍本人封装的BleLib蓝牙库,非常适合蓝牙初学者使用,只需要一行代码注入就OK了,而且用法也极其简单...: 如果 android.hardware.bluetooth_le设置为false,可以安装在不支持的设备上使用,判断是否支持蓝牙4.0用以下代码就可以了,如: 对蓝牙的启动关闭操作: 1、利用系统默认开启蓝牙对话框...发送数据到蓝牙设备 这里可以通过调用BleManager中的sendData()方法即可,只需要传入指定的蓝牙设备地址以及需要发送的字节数组即可,返回值是发送成功或者失败的布尔值。...()方法,然后在其中做你想做的事情,默认是不需要实现的,如果你想要在蓝牙设备返回数据时做出反应,那就去实现onRead()方法,如果你想在蓝牙连接失败或者超时的情况下去做特殊的处理,你就去实现onError...,这时可以根据自己的需求去设置通知Notify,如下图: 根据服务的UUID来进行过滤,然后根据服务获取到特征的UUID,然后在进行过滤,然后再从特征中取出通知的UUID,这时设置通知为true就可以了

    98320

    Android 蓝牙库 FastBLE 的使用方法

    ☕ FastBle VS 原生Android蓝牙API 原生 Android 的蓝牙 API 使用有点麻烦,要先获取设备的蓝牙适配器,接着注册广播来接受蓝牙设备信息,用完了还需要将广播给注销,相对来说有点麻烦...但是 FastLib 封装的就很技巧,基本上能把一个操作的粒度控制在一行内,另外,代码也无需与线程、通知之类的打交道,库中已经帮我们把这些复杂的东西都做完了。...android:name="android.permission.BLUETOOTH_ADMIN" /> android:name="android.permission.ACCESS_COARSE_LOCATION..." /> android:name="android.permission.ACCESS_FINE_LOCATION" /> 这里要注意一点,如果 Android 版本高于...@Override public void onConnectFail(BleDevice bleDevice, BleException exception) { // 连接失败

    1.5K30

    Android Ble蓝牙App(五)数据操作

    Ble蓝牙App(五)数据操作 前言   关于低功耗蓝牙的服务、特性、属性、描述符都已经讲清楚了,而下面就是使用这些知识进行数据的读取、写入、通知等操作。...writeCharacteristic(characteristic) } //执行写入动作成功不代表写入数据成功,执行写入动作失败,写入数据一定失败 deviceInfo...,再根据Android的版本去写入数据,最终调用Gatt的writeCharacteristic()函数进行写入,写入属于一个执行动作,有失败的可能性,可以根据返回值进行判断,Android13以前返回的是...deviceInfo(info) } 下面运行一下: 日志如下所示: 四、打开通知   实际上打开通知的意义就是能够收到蓝牙设备返回的数据,先了解以下相关的概念知识。...一、概念 Ble Enable Notify是指在蓝牙低功耗(BLE)通信中使能通知功能的操作。当设备之间建立了蓝牙连接后,设备可以通过特征(Characteristic)来交换数据。

    1.4K30

    Android4.42-Settings源码分析之蓝牙模块Bluetooth(上)

    继上一篇 Android系统源码剖析(一)---Settings 接着来介绍一下设置中某个模块的源码,本文依旧是基于Android4.42源码进行分析,分析一下蓝牙模块的实现。...,清单文件中介绍了蓝牙界面启动相关的一些设置,诸如有快捷方式入口,以及是否隐藏进程等等,在这里大致对一些不常见的属性进行说明,方便查阅 android:name="......"...手机长按home键可以看到最近的程序列表,用此属性可以隐藏进程 可以看到有一个与activity并列的节点。...修改蓝牙名称的按钮在菜单栏中id为MENU_ID_RENAME_DEVICE,过程是修改后将蓝牙名称赋给系统的蓝牙适配器,系统蓝牙适配发送广播通知蓝牙名称已经修改,在接受到蓝牙名称修改后的广播后更新preference...,会发送广播通知蓝牙名称已变,对preference进行更新。

    1.6K20

    微信小程序 BLE 基础业务接口封装

    写在前面:本文所述未必符合当前最新情形(包括蓝牙技术发展、微信小程序接口迭代等)。 微信小程序为蓝牙操作提供了很多接口,但在实际开发过程中,会发现隐藏了不少坑。...目前主流蓝牙应用都是基于低功耗蓝牙(BLE)的,本文介绍相关的几个基础接口,并对其进行封装,便于业务层调用。 蓝牙发展 在开发蓝牙应用程序之前,有必要对蓝牙这项技术做大致了解。...通过属性可以设置特征值操作类型,如读取、写入、通知等,操作对象即为特征值的值(value)。一个特征值可以同时拥有多种操作类型。...小程序接口封装 需要知道的是,虽然蓝牙是开放协议,但由于苹果 IOS 系统的封闭设计,目前苹果设备无法与 Android 及其它平台设备通过蓝牙相连。 本文描述皆基于 Android 平台。...holdConnWhenDone = false) { let idx = 0 //已传输字节数 let startTime = Date.now(), duration = 800 //发送失败重试持续时间

    14710
    领券