Question

Est-ce que Android envoyer une notification d'être à proximité d'un nouveau réseau Wifi? Que l'appareil est configuré pour se connecter à ce réseau wifi dépend du fait que l'appareil a l'ensemble de configuration wifi pour ce particulier réseau wifi, mais est-il possible d'obtenir une notification chaque fois d'entrer dans un nouveau réseau wifi?
J'ai vu la classe WifiManager mais les états à l'intérieur de la classe ne semblent pas réaliser ce que je suis en train de faire. Toutes les idées?

Était-ce utile?

La solution

Utilisez un BroadcastReceiver enregistré pour recevoir les intentions avec l'action. WifiManager.NETWORK_STATE_CHANGED_ACTION

Dans ce BroadcastReceiver, vous pouvez extraire un objet NetworkInfo de la intention:

NetworkInfo ni = (NetworkInfo) intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);

Ensuite processus ni.getState() pour vérifier les connexions / déconnexions des réseaux wifi.

Est-ce que vous cherchez?


Modifier après la réponse

Donc, si vous voulez savoir quels réseaux wifi sont disponibles, utilisez WifiManager.getScanResults () Cela vous donne la liste des points d'accès à proximité dans les objets Scanresult. Ceux contiennent le SSID et BSSID des points d'accès, qui sont respectivement leur nom de réseau et l'adresse MAC.

Vous pouvez obtenir ces informations de manière asynchrone en utilisant un BroadcastReceiver enregistré pour recevoir les intentions et les actions WifiManager.SCAN_RESULTS_AVAILABLE_ACTION. Ensuite, vous serez informé chaque fois que le système effectue un scan wifi, et vous pouvez vérifier si un nouveau SSID (à savoir le nom du réseau) est apparu depuis la dernière analyse.

Et enfin, si vous souhaitez numériser plus souvent que le système fait par défaut, vous pouvez déclencher des analyses wifi vous en utilisant WifiManager.startScan().

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top