Android 解析蓝牙广播数据

import java.util.Iterator;

import java.util.List;

import java.util.Map;

import java.util.UUID;

/**

  • Created by Huanglinqing on 2018/9/4/004.

*/

public class ScanRecordUtil {

/**

  • Returns a string composed from a {@link SparseArray}.

*/

static String toString(SparseArray<byte[]> array) {

if (array == null) {

return “null”;

}

if (array.size() == 0) {

return “{}”;

}

StringBuilder buffer = new StringBuilder();

buffer.append(‘{’);

for (int i = 0; i < array.size(); ++i) {

buffer.append(array.keyAt(i)).append(“=”).append(Arrays.toString(array.valueAt(i)));

}

buffer.append(‘}’);

return buffer.toString();

}

/**

  • Returns a string composed from a {@link Map}.

*/

static String toString(Map<T, byte[]> map) {

if (map == null) {

return “null”;

}

if (map.isEmpty()) {

return “{}”;

}

StringBuilder buffer = new StringBuilder();

buffer.append(‘{’);

Iterator<Map.Entry<T, byte[]>> it = map.entrySet().iterator();

while (it.hasNext()) {

Map.Entry<T, byte[]> entry = it.next();

Object key = entry.getKey();

buffer.append(key).append(“=”).append(Arrays.toString(map.get(key)));

if (it.hasNext()) {

buffer.append(", ");

}

}

buffer.append(‘}’);

return buffer.toString();

}

private static final String TAG = “ScanRecordUtil”;

// The following data type values are assigned by Bluetooth SIG.

// For more details refer to Bluetooth 4.1 specification, Volume 3, Part C, Section 18.

private static final int DATA_TYPE_FLAGS = 0x01;

private static final int DATA_TYPE_SERVICE_UUIDS_16_BIT_PARTIAL = 0x02;

private static final int DATA_TYPE_SERVICE_UUIDS_16_BIT_COMPLETE = 0x03;

private static final int DATA_TYPE_SERVICE_UUIDS_32_BIT_PARTIAL = 0x04;

private static final int DATA

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值