2017-07-06 2 views
1

EDIT: Je sais que SCAN_RESULTS_AVAILABLE_ACTION retourne une liste de taille « 0 » si les services de localisation sont question off.The est comment le faire sans les services de localisation.Obtenir la liste des réseaux WiFi disponibles sans services de localisation dans Android

PRÉCÉDENT: J'ai besoin d'une liste de tous les réseaux WiFi disponibles au téléphone, et d'utiliser cette liste pour remplir un ListView dans mon application. Je me connecterai plus tard au réseau souhaité depuis mon application.

I ont obtenu ci-dessus en utilisant,

wifiManager.startScan(); 

et I ont enregistré une BroadcastReciever pour recevoir un intimation lorsqu'une analyse est terminée comme ci-dessous,

registerReceiver(wifiReceiver, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)); 

code de récepteur est le suivant,

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); 

     } 
    } 

le problème est que je dois activer les services de localisation chaque ti moi je veux l'information ci-dessus.Je ne vois pas vraiment le point ici car je n'ai pas besoin des services de localisation ici comme d'autres applications comme "SHAREit" faire la même chose sans avoir besoin de services de localisation.Is-il une meilleure approche pour y parvenir?

+0

SHAREit demande les services de localisation – nitzanms

+0

Possible duplicate de [SCAN \ _RESULTS \ _AVAILABLE \ _ACTION retourner la liste vide dans Android 6.0] (https://stackoverflow.com/questions/32151603/scan-results-available-action-return- empty-list-in-android-6-0) – nitzanms

+0

@nitzanms aucun shareit ne nécessite pas de services de localisation –

Répondre

0

Nous pouvons obtenir la liste des WIFI disponibles sans GPS allumé en réglant la targetSD version à 21 ou moins.

+0

Merci, mais ce n'est pas une option, car je veux la dernière version sdk cible –