fix missing unregisterReceive

This commit is contained in:
HappyZ 2017-12-21 14:26:16 -06:00
parent f7677a661d
commit e9a4d79deb
1 changed files with 40 additions and 37 deletions

View File

@ -58,7 +58,7 @@ public class MainActivity extends Activity {
btn_clearStatus, btn_setLogFreq, btn_setOthers, btn_ranging; btn_clearStatus, btn_setLogFreq, btn_setOthers, btn_ranging;
private WifiManager wm; private WifiManager wm;
private Intent intentSSLogger; private Intent intentSSLogger;
static boolean runOnce; static BroadcastReceiver my_recv;
protected static int coreNum = 1; protected static int coreNum = 1;
protected static int perProcPID = -1; protected static int perProcPID = -1;
protected static int UDPfinishTime = 0; protected static int UDPfinishTime = 0;
@ -601,6 +601,12 @@ public class MainActivity extends Activity {
params.channelWidth = wifiConfig.channelWidth; params.channelWidth = wifiConfig.channelWidth;
RttManagerCompat rttManagerCompat = new RttManagerCompat(getApplicationContext()); RttManagerCompat rttManagerCompat = new RttManagerCompat(getApplicationContext());
final RttManagerCompat.RttCapabilities capabilities = rttManagerCompat.getRttCapabilities(); final RttManagerCompat.RttCapabilities capabilities = rttManagerCompat.getRttCapabilities();
myHandler.post(new Runnable() {
@Override
public void run() {
txt_results.append("\n\n" + capabilities.toString() + "\n\n");
}
});
if (capabilities != null) { if (capabilities != null) {
params.LCIRequest = capabilities.lciSupported; params.LCIRequest = capabilities.lciSupported;
params.LCRRequest = capabilities.lcrSupported; params.LCRRequest = capabilities.lcrSupported;
@ -694,18 +700,14 @@ public class MainActivity extends Activity {
if (!isUsingWifi) return; if (!isUsingWifi) return;
wm.startScan(); wm.startScan();
Log.d("ScanResult", "Start scanning"); Log.d("ScanResult", "Start scanning");
runOnce = false; my_recv = new BroadcastReceiver() {
BroadcastReceiver my_recv = new BroadcastReceiver() {
@Override @Override
public void onReceive(Context c, Intent intent) { public void onReceive(Context c, Intent intent) {
if (runOnce) return;
List<ScanResult> results = wm.getScanResults(); List<ScanResult> results = wm.getScanResults();
if (results.isEmpty()) { if (results.isEmpty()) {
Log.d("ScanResult", "result is empty"); Log.d("ScanResult", "result is empty");
return; } else {
} try {
try{
startRanging(results.get(0), new RttManagerCompat.RttListener() { startRanging(results.get(0), new RttManagerCompat.RttListener() {
@Override @Override
public void onAborted() { public void onAborted() {
@ -733,12 +735,13 @@ public class MainActivity extends Activity {
}); });
} }
}); });
runOnce = true;
} catch (Throwable e) {} } catch (Throwable e) {}
} }
unregisterReceiver(my_recv);
Log.d("ScanResult", "receiver unregistered");
}
}; };
registerReceiver(my_recv, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)); registerReceiver(my_recv, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
} }
}); });
btn_startTransmit.setOnClickListener(new View.OnClickListener() { btn_startTransmit.setOnClickListener(new View.OnClickListener() {