- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在查看 android 22 的源代码以将我的代码更改为新的 BLE 扫描并遇到了 ScanRecord 类。当我打开 ScanRecord (sources/android-22/android/bluetooth/le/ScanRecord.java) 的源代码时,我看到有一个函数 parseFromBytes:
/**
* Parse scan record bytes to {@link ScanRecord}.
* <p>
* The format is defined in Bluetooth 4.1 specification, Volume 3, Part C, Section 11 and 18.
* <p>
* All numerical multi-byte entities and values shall use little-endian <strong>byte</strong>
* order.
*
* @param scanRecord The scan record of Bluetooth LE advertisement and/or scan response.
* @hide
*/
public static ScanRecord parseFromBytes(byte[] scanRecord)
但是如果我尝试在我的代码中使用它,它找不到函数。另外,如果我检查 API here , 完全没有提到这个功能。
我使用的是 Android Studio 1.3.1,compileSdkVersion 22、minSdkVersion 18、targetSdkVersion 22 和 buildToolsVersion 22.0.1
我错过了什么?为什么我不能使用该功能,尽管它是 android 源代码的一部分?
感谢您的澄清。
最佳答案
在 API 级别 21 中添加了 ScanRecord 类。您可以从 ScanResult 获取它的一个实例代码:
ScanCallback leScanCallback = new ScanCallback() {
@Override
public void onScanResult(int callbackType, ScanResult result) {
ScanRecord record = result.getScanRecord();
}
}
在该对象实例上,公共(public)函数可用。
关于android - 缺少 android 方法 : ScanRecord. parseFromBytes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32052216/
我正在开发一款扫描 BLE 设备的 Android 应用程序。每次找到设备时,我都会收到: byte[] scanRecord, BluetoothDevice 设备, int rssi 来自 Blu
我正在查看 android 22 的源代码以将我的代码更改为新的 BLE 扫描并遇到了 ScanRecord 类。当我打开 ScanRecord (sources/android-22/android
我正在使用 google 的示例项目 ( BluetoothLeGatt ) 从 BLE 设备接收数据,并尝试读取通过 onLeScan 方法获得的 scanRecord 中的特定字节。 我的问题是我
我正在尝试实现蓝牙广告商和扫描仪。我的广告商代码在广告数据包中使用一些服务数据进行广告。在扫描器端,当我尝试使用在广告商中添加服务数据期间使用的相同 UUID 获取数据时,getService 数据方
private final BluetoothAdapter.LeScanCallback mLeScanCallback = new BluetoothAdapter.LeScanCallback(
我是一名优秀的程序员,十分优秀!