編輯: 我知道SCAN_RESULTS_AVAILABLE_ACTION返回尺寸列表「0」,如果位置服務off.The問題是如何做到這一點沒有位置服務。獲得可用的無線網絡列表不顯示位置服務的Android
上一篇: 我需要所有可用的WiFi網絡到電話的列表,並使用該列表來填充在應用的過程中ListView
。我稍後將從我的應用程序連接到所需的網絡。
我以實現上述,
wifiManager.startScan();
和我已經註冊用於接收暗示一個BroadcastReciever當掃描完成像下面,
registerReceiver(wifiReceiver, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
接收機代碼如下,
class WifiReceiver extends BroadcastReceiver {
// This method call when number of wifiManager connections changed
public void onReceive(Context c, Intent intent) {
wifiResults.clear();
wifiList = wifiManager.getScanResults();
for(int i = 0; i < wifiList.size(); i++){
if(!wifiList.get(i).SSID.equals(""))
wifiResults.add(wifiList.get(i).SSID+" signal:"+wifiList.get(i).level);
}
adapter.notifyDataSetChanged();
wifiRefreshLayout.setRefreshing(false);
}
}
問題是我必須啓用位置服務每ti我希望獲得上述信息。由於我不需要位置服務,因此其他應用程序(如「SHAREit」)在不需要位置服務的情況下也能實現同樣的功能,因此我並不真正瞭解這一點。我是否有更好的方法來實現這一目標?
SHAREit不要求定位服務 – nitzanms
的可能的複製[掃描\ _results \ _AVAILABLE \ _action回到空蕩蕩的Android 6.0列表(https://stackoverflow.com/questions/32151603/scan-results-available-action-return- Android-6-0中的空列表) – nitzanms
@nitzanms不shareit不需要位置服務 –