HRG*_*HRG 5 android android-source bluetooth-lowenergy
我已经下载了Lollipop 5.0的AOSP源代码.在api级别21中,在蓝牙低能量扫描设置下,有三种扫描设备的选项 - SCAN_MODE_BALANCED, SCAN_MODE_LOW_LATENCY, SCAN_MODE_LOW_POWER.是基于不同的扫描间隔和扫描窗口值?如果是这样,我在哪里可以找到源代码目录中为这些宏定义的值.
小智 7
我发现下面的值http://androidxref.com/5.0.0_r2/xref/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/ScanManager.java而greping关键字"SCAN_MODE_BALANCED":
/**
* Scan params corresponding to regular scan setting
*/
private static final int SCAN_MODE_LOW_POWER_WINDOW_MS = 500;
private static final int SCAN_MODE_LOW_POWER_INTERVAL_MS = 5000;
private static final int SCAN_MODE_BALANCED_WINDOW_MS = 2000;
private static final int SCAN_MODE_BALANCED_INTERVAL_MS = 5000;
private static final int SCAN_MODE_LOW_LATENCY_WINDOW_MS = 5000;
private static final int SCAN_MODE_LOW_LATENCY_INTERVAL_MS = 5000;
/**
* Scan params corresponding to batch scan setting
*/
private static final int SCAN_MODE_BATCH_LOW_POWER_WINDOW_MS = 1500;
private static final int SCAN_MODE_BATCH_LOW_POWER_INTERVAL_MS = 150000;
private static final int SCAN_MODE_BATCH_BALANCED_WINDOW_MS = 1500;
private static final int SCAN_MODE_BATCH_BALANCED_INTERVAL_MS = 15000;
private static final int SCAN_MODE_BATCH_LOW_LATENCY_WINDOW_MS = 1500;
private static final int SCAN_MODE_BATCH_LOW_LATENCY_INTERVAL_MS = 5000;
Run Code Online (Sandbox Code Playgroud)
另请查看ScanManager.ScanNative.configureRegularScanParams().两个参数scanWindow和scanInterval根据所述扫描设置(设置ScanSettings.SCAN_MODE_LOW_POWER,ScanSettings.SCAN_MODE_BALANCED,ScanSettings.SCAN_MODE_LOW_LATENCY),换算成BLE单位,然后传递给gattSetScanParametersNative().
希望这可以帮助.