网站建设与管理就业去向,电商网站建设要多少钱,pc端网站建设,wordpress搭建像册我需要定期执行Wifi扫描.当时间间隔设置为1-2秒时,我遇到了问题.好像我没有得到任何ScanResult.是否有最短的时间设置,以便WifiManager能够执行成功的WiFi扫描#xff1f;这是代码.我正在使用服务进行Wifi扫描#xff1a;public class WifiScanning extends Service{private …我需要定期执行Wifi扫描.当时间间隔设置为1-2秒时,我遇到了问题.好像我没有得到任何ScanResult.是否有最短的时间设置,以便WifiManager能够执行成功的WiFi扫描这是代码.我正在使用服务进行Wifi扫描public class WifiScanning extends Service{private static final String TAG WifiScanning;private Timer timer;public int refreshRate,numberOfWifiScan,wifiScanGranularity;WifiReceiver receiverWifi new WifiReceiver();WifiManager wifi;StringBuilder sb;List wifiList;List apdataList;ListsurveyData;private TimerTask updateTask new TimerTask() {Overridepublic void run() {Log.i(TAG,Timer task doing work);wifi.startScan();}};Overridepublic IBinder onBind(Intent intent) {// TODO Auto-generated method stubreturn null;}Overridepublic void onCreate() {super.onCreate();Log.i(TAG,Service creating);//retrieve the mapRefreshRate from config.xmlXMLOperations test new XMLOperations();Configuration config new Configuration();config test.saxXmlParsing(this,1);if(confignull)config test.saxXmlParsing(this,2);refreshRate Integer.parseInt(config.getMapRefreshRate());numberOfWifiScan Integer.parseInt(config.getNumberOfWifiScan_Positioning());wifiScanGranularity Integer.parseInt(config.getWifiScanGranularity_Positioning());timer new Timer();Log.i(TAG,Refresh Rate: String.valueOf(refreshRate));timer.schedule(updateTask,refreshRate);wifi (WifiManager) getSystemService(Context.WIFI_SERVICE);registerReceiver(receiverWifi,new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));}Overridepublic void onDestroy() {super.onDestroy();Log.i(TAG,Service destroying);unregisterReceiver(receiverWifi);if (timer ! null){timer.cancel();timer.purge();timer null;}}class WifiReceiver extends BroadcastReceiver {public void onReceive(Context c,Intent intent) {sb new StringBuilder();wifiList wifi.getScanResults();String ap_ssid;String ap_mac;Double ap_rssi;for(int i 0; i wifiList.size(); i){ap_ssid wifiList.get(i).SSID;ap_mac wifiList.get(i).BSSID;ap_rssi Double.valueOf(wifiList.get(i).level);APData ap new APData(ap_ssid,ap_mac,ap_rssi);apdataList.add(ap);sb.append( (wifiList.get(i).SSID).toString());sb.append( (wifiList.get(i).BSSID).toString());sb.append(( String.valueOf(wifiList.get(i).level)));sb.append(\n);}Log.d(TAG,sb.toString());for(int i1; inumberOfWifiScan; i){surveyData.add(apdataList);}}}}但是,我似乎在这一行得到NullpointerapdataList.add(ap);.所以我想知道间隔是否太短,导致ScanResult为空