native.js 可以调用蓝牙的数据吗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了native.js 可以调用蓝牙的数据吗相关的知识,希望对你有一定的参考价值。
可以,其原理和安卓调用手机的蓝牙列表信息是一样的,只是native.js用js的方式封装了原生android和OC语言,使js也能获得手机的原生api,但是现在大部分的浏览器不支持NJS 参考技术A 现在,Android的支持Wi -Fi的直接点对点点对点(P2P)Android系统的供电设备和其他类型的设备,没有一个热点或互联网连接之间的连接。Android框架提供了一套Wi - Fi的P2P的API,允许你去发现和连接到其他设备时,每个设备的Wi -Fi的直接支持核心蓝牙 CBAdvertisementDataServiceDataKey 可以有一些自定义数据吗?
【中文标题】核心蓝牙 CBAdvertisementDataServiceDataKey 可以有一些自定义数据吗?【英文标题】:Core Bluetooth CBAdvertisementDataServiceDataKey could have some custom data? 【发布时间】:2021-04-09 20:46:13 【问题描述】:我正在尝试使用 BLE 在 android 和 iOS 设备之间发送一些数据,但我需要在 iOS 端向 android 发送一些自定义信息,我已经尝试了 CBCentralManager 提供的几乎所有键,但我尝试使用密钥 CBAdvertisementDataServiceDataKey 发送一些字符串但没有任何反应,有人知道如何在该密钥中发送信息吗?
我会事先尝试在没有连接的情况下获取该信息。
这是我用来尝试制作我之前解释的那部分的函数。
func peripheralManagerDidUpdateState(_ peripheral: CBPeripheralManager)
if peripheral.state == .poweredOn
let data = CBMutableCharacteristic(type: hardCodeUUID, properties: [.read], value: userName.data(using: .utf8), permissions: [.readable])
peripherialManager.startAdvertising([ CBAdvertisementDataLocalNameKey:"Jael2522",CBAdvertisementDataServiceDataKey:userName.data(using: .utf8),CBAdvertisementDataServiceDataKey:[CBUUID(string: "Jose")]])
let serialService = CBMutableService(type: hardCodeUUID, primary: true)
serialService.characteristics = [data]
peripherialManager.add(serialService)
【问题讨论】:
【参考方案1】:CBAdvertisementDataServiceDataKey 在 iOS 中是只读的。您可以直接宣传的唯一内容是本地名称和服务 UUID 列表(两者都不能保证被宣传,但如果它们可以放入数据包中,它们将在您的应用处于前台时进行宣传)。
为了在设备之间可靠地发送数据,您需要一侧实际连接并读取或写入特征。
【讨论】:
Rob 是不是可以在服务数据中发送一些信息还是不能? 没有。那是 CBAdvertisementDataServiceDataKey,它在 iOS 中是只读的。您可以直接宣传的唯一内容是本地名称和服务 UUID 列表。以上是关于native.js 可以调用蓝牙的数据吗的主要内容,如果未能解决你的问题,请参考以下文章
我们可以在 react native 中通过蓝牙连接到热敏收据打印机吗
react native js 与 native 的通信与交互方式