下面列出了android.bluetooth.BluetoothAdapter#startLeScan ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private void startScan() {
BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
if (adapter != null && adapter.isEnabled()) {
if (!adapter.startLeScan(leScanCallback)) {
getErrorSubject().onError(new ConnectionError(SCAN_FAILED));
if (RxCentralLogger.isError()) {
RxCentralLogger.error("startLeScan failed.");
}
}
} else {
if (RxCentralLogger.isError()) {
if (adapter == null) {
RxCentralLogger.error("startScan - Default Bluetooth Adapter is null!");
} else {
RxCentralLogger.error("startScan - Bluetooth Adapter is disabled.");
}
}
getErrorSubject().onError(new ConnectionError(SCAN_FAILED));
}
}
@Override
@SuppressWarnings({"SpellCheckingInspection", "deprecation"})
protected void onStart(BluetoothAdapter adapter, int scanMode) {
boolean ret;
UUID uuids[] = scannerConfiguration.getServiceUUIDs();
if (uuids.length > 0 && Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
ret = adapter.startLeScan(uuids, callback);
} else {
ret = adapter.startLeScan(callback);
}
if (ret) {
NeatleLogger.d("Bluetooth LE scan started.");
} else {
NeatleLogger.i("Bluetooth LE scan failed to start. State = " + adapter.getState());
}
}
public void startScan() {
scanned.clear();
BluetoothAdapter adapter = getAdapter();
if (BuildConfig.DEBUG) {
Log.d(L,"startLeScan, thread="+Thread.currentThread().getName()+", adapter="+(adapter==null?"null":"not null"));
}
if (adapter != null) {
if (!isScanning(adapter)) {
adapter.startLeScan(leScanCallback);
isScanning = true;
}
}
}
@Override
@RequiresPermission(allOf = {Manifest.permission.BLUETOOTH_ADMIN, Manifest.permission.BLUETOOTH})
public void run() {
final BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
if (adapter != null && powerSaveRestInterval > 0 && powerSaveScanInterval > 0) {
adapter.startLeScan(scanCallback);
powerSaveHandler.postDelayed(powerSaveSleepTask, powerSaveScanInterval);
}
}
@SuppressWarnings("deprecation")
@Override
public void startScan(BluetoothAdapter adapter, List<ScanFilterCompat> filters, ScanSettingsCompat settings, ScanCallbackCompat callbackCompat) {
adapter.startLeScan(registerCallback(filters, callbackCompat));
}
@SuppressWarnings("deprecation")
@Override
public void startScan(BluetoothAdapter adapter, ScanCallbackCompat callbackCompat) {
adapter.startLeScan(registerCallback(null, callbackCompat));
}