私は、BLEデバイスのスキャンを開始するために、このコードをしました:BLEデバイスのスキャン時間を短縮できますか?
Log.i("timeChar", "Begin");
customBluetoothManager.scanLeDevice(true);
を次にscanLeDevice()BLEスキャン開始のためのBluetoothアダプタを管理している、呼び出されています。今、
public void scanLeDevice(final boolean enable) {
mHandler = new Handler();
if (enable) {
// Stops scanning after a pre-defined scan period.
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
mBluetoothAdapter.stopLeScan(mLeScanCallback);
}
}, SCAN_PERIOD);
mBluetoothAdapter.startLeScan(mLeScanCallback);
} else {
mBluetoothAdapter.stopLeScan(mLeScanCallback);
}
}
をとスキャンで検出されたデバイスごとにコールバック:
// Device scan callback.
private BluetoothAdapter.LeScanCallback mLeScanCallback =
new BluetoothAdapter.LeScanCallback() {
@Override
public void onLeScan(final BluetoothDevice device, int rssi,
byte[] scanRecord) {
String name = device.getName();
if (name != null && name.compareTo(bluetoothDeviceName) == 0) {
Log.i("timeChar", "Device found");
}
}
};
私は私のBLEデバイスをスキャンするつもりたびに(つまり、周辺的な役割を持っている)、それがta約11秒でそれを検出します。
05-31 17:32:39.139 27545-9668/app I/timeChar: Begin
05-31 17:32:50.149 27545-27545/app I/timeChar: Device found
この時間を短縮する方法はありますか?
:マルチンによって示されるように、あなたはそうするのと同じくらい簡単に行うことができますhttps://atmosphere.anaren.com/wiki/Android_Issues_With_Bluetooth_Low_Energyため –
感謝そのwiki!私は見てみましょう:) – adri1992