寻找 BLE 设备
使用蓝牙 API 需要以下权限:
android.permission.BLUETOOTH
android.permission.BLUETOOTH_ADMIN
如果你的目标设备是 Android 6.0( API 级别 23 )或更高版本,并且想要执行扫描/广告操作,则需要获得位置权限:
android.permission.ACCESS_FINE_LOCATION
要么
android.permission.ACCESS_COARSE_LOCATION
注意 - 使用 Android 6.0(API 级别 23)或更高版本的设备也需要启用位置服务
需要 BluetoothAdapter 对象才能开始扫描/广告操作:
BluetoothManager bluetoothManager = (BluetoothManager) context.getSystemService(Context.BLUETOOTH_SERVICE);
bluetoothAdapter = bluetoothManager.getAdapter();
BluetoothLeScanner 类的 startScan (ScanCallback callback)
方法是开始扫描操作的最基本方法。接收结果需要 ScanCallback
对象:
`bluetoothAdapter.getBluetoothLeScanner()`.startScan(new `ScanCallback()` {
@Override
public void onScanResult(int callbackType, ScanResult result) {
super.onScanResult(callbackType, result);
Log.i(TAG, "Remote device name: " + `result.getDevice()`.getName());
}
});