我的问题是通过蓝牙将手机连接到手机并相互发送/接收消息。使用蓝牙(BLE)的cordova插件,成功扫描其他设备,如蓝牙手环,但没有扫描任何智能手机。我尝试了很多cordova插件,但没有给出任何结果。我能为我的问题做些什么?
谢谢
答案 0 :(得分:1)
简答
您的手镯正在运行GATT服务器,该服务器会播放蓝牙数据包,而您手机则不会。没有任何PhoneGap插件允许您的手机运行GATT服务器。您需要创建自己的PhoneGap插件。
长答案
如果你想在两部手机之间交换蓝牙数据,两部手机都需要支持蓝牙低功耗,这样第二部手机才能运行GATT服务器。在蓝牙低功耗,扫描的手机被称为中央设备,而广告的手机被称为外围设备。
截至今天(2015年11月15日),只有最新的手机和操作系统才支持手机充当外围设备(即运行GATT服务器并通告数据包)。
目前,PhoneGap.com,GitHub和NPM上提供的所有PhoneGap插件都只能将手机作为中央设备运行。
如果您想连接第二部手机,则需要创建或扩展现有的PhoneGap插件,以便在外设模式下运行第二部手机。
首先,您可以查看iOS开发人员文档(https://developer.apple.com/library/ios/documentation/CoreBluetooth/Reference/CBPeripheralManager_Class/index.html)下的CBPeripheralManager类,或Android开发人员文档(https://developer.android.com/guide/topics/connectivity/bluetooth.html#ConnectingDevices)下的BluetoothServerSocket类。
要了解有关iOS和Android蓝牙框架的更多信息,您还可以观看以下视频: https://developer.apple.com/videos/play/wwdc2013-703/ https://developer.apple.com/videos/play/wwdc2012-705/ https://developer.apple.com/videos/play/wwdc2012-703/ https://www.youtube.com/watch?v=vUbFB1Qypg8 https://www.youtube.com/watch?v=qx55Sa8UZAQ