我正在编写一个 android 应用程序,其目的是通过 wifi 指纹确定用户位置,为了做到这一点,我需要对当前网络进行非常频繁(尽可能频繁)的扫描,但我发现时间限制去做。
事实上,无论如何,我几乎可以每秒进行一次新的扫描,我想知道是否有办法加快速度。
过去关于该主题的问题(作为这个Android,wifi 主动扫描)并没有真正有用。
这是代码:
public class WiFiScanReceiver extends BroadcastReceiver {
private static final String TAG = "WiFiScanReceiver";
private Main parent;
private ScanResult storedBest;
private String actualFileName;
private int nOfScans;
private long initialTime;
private FileSaver fs;
public WiFiScanReceiver(Main wifiDemo) {
super();
this.parent = wifiDemo;
storedBest = null;
actualFileName ="";
nOfScans = 0;
fs = new FileSaver(parent);
}
@Override
public void onReceive(Context c, Intent intent) {
List<ScanResult> results = parent.getWifiManager().getScanResults();
ScanResult bestSignal = null;
if(parent.isRecording()&& actualFileName!=""){
//Getting the fingerprint
}
if (parent.isRecording()) nOfScans ++;
parent.getWifiManager().startScan();
Log.d(TAG, "onReceive() message: " + message);
}
//VARIOUS GETTERs AND SETTERs
}