android onlescan 参数,Android BLE:从iOS外设广告时,在onLeScan()回调中检索服务UUID
我正在使用Nexus 4(4.4 kitkat)作為中央和iPad作為外設(shè).外圍設(shè)備有廣告服務(wù).廣告包有一些數(shù)據(jù)(22字節(jié))的服務(wù)UUID.當(dāng)我嘗試從
Android掃描外圍設(shè)備時(shí),iPad外圍設(shè)備被發(fā)現(xiàn).但是當(dāng)我嘗試從回調(diào)中的scanRecord參數(shù)獲取服務(wù)UUID時(shí),我找不到它.我得到的是外設(shè)發(fā)送的20byte數(shù)據(jù).當(dāng)我嘗試使用UUID掃描設(shè)備時(shí)不能發(fā)現(xiàn)那些外設(shè).
以下是iOS代碼來(lái)廣告服務(wù).正在使用的服務(wù)ID為“0000192f-0000-1000-8000-00805f9b34fb”
CBUUID *serviceUuid = [CBUUID UUIDWithString:TRANSFER_SERVICE_UUID];
[self.peripheralManager startAdvertising:@{CBAdvertisementDataServiceUUIDsKey : @[serviceUuid],
CBAdvertisementDataLocalNameKey:[[BTLEConfigs sharedBTLEConfig] getAdvertizingUUID]}];
當(dāng)我掃描沒(méi)有服務(wù)UUID時(shí),設(shè)備被發(fā)現(xiàn).
// Device scan callback.
private BluetoothAdapter.LeScanCallback mLeScanCallback =
new BluetoothAdapter.LeScanCallback() {
@Override
public void onLeScan(final BluetoothDevice device, int rssi, final byte[] scanRecord) {
runOnUiThread(new Runnable() {
@Override
public void run() {
//-- how to retrieve the service id from scanRecord
}
});
}
};
這些服務(wù)是在兩個(gè)iOS設(shè)備之間發(fā)現(xiàn)的,但在Android設(shè)備和iOS外設(shè)之間卻沒(méi)有工作.如何使用16位服務(wù)UUID掃描外設(shè)?任何幫助都不勝感激.
總結(jié)
以上是生活随笔為你收集整理的android onlescan 参数,Android BLE:从iOS外设广告时,在onLeScan()回调中检索服务UUID的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mysql镜像_Mysql phpmya
- 下一篇: android 8.1没声音,Andro