如何设置 BLE 扫描间隔和 windows 不只是在 android 中选择模式?
How to set BLE scan interval and windows no just choose mode in android?
我是android的新生。我想在我的 android 设备中设置 BLE 扫描间隔和 windows,以便做一个关于邻居发现的实验。我在 google 上搜索答案,知道 android's source code 中有一些关于 BLE 扫描间隔和 windows 的定义,如下
/**
* 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;
如果我想改变这些值,是否意味着我应该编译android系统?有没有更好的方法?
您可以自由控制等效的 if scan window 并通过开始和停止扫描在更高级别的代码中间隔自己。这正是开源 Android Beacon Library 使用其等效的可配置参数所做的:
beaconManager.setForegroundScanPeriod(...);
beaconManager.setForegroundBetweenScanPeriod(...);
我是android的新生。我想在我的 android 设备中设置 BLE 扫描间隔和 windows,以便做一个关于邻居发现的实验。我在 google 上搜索答案,知道 android's source code 中有一些关于 BLE 扫描间隔和 windows 的定义,如下
/**
* 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;
如果我想改变这些值,是否意味着我应该编译android系统?有没有更好的方法?
您可以自由控制等效的 if scan window 并通过开始和停止扫描在更高级别的代码中间隔自己。这正是开源 Android Beacon Library 使用其等效的可配置参数所做的:
beaconManager.setForegroundScanPeriod(...);
beaconManager.setForegroundBetweenScanPeriod(...);