gars.Écouteur de connexion Wi-Fi
J'ai un problème avec mon auditeur wifi. J'ai utilisé BroadcastReceiver
pour cela.
Ceci est mon code.
public class WiFiService extends BroadcastReceiver {
Context mcontext;
@Override
public void onReceive(Context mcontext, Intent intent) {
NetworkInfo info = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
if(info != null) {
if(info.isConnected()) {
WifiManager wifiManager = (WifiManager)mcontext.getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
Log.d("WifiConnection", "Connected");
this.mcontext = mcontext;
Wifi();
}
}
}
private void Wifi() {
WifiManager wifiManager = (WifiManager)mcontext.getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
String bssid = wifiInfo.getBSSID();
//Have something to do here.
Log.d("WifiConnection", "HomeWifi");
}}
Comme vous pouvez le voir, il y a un enregistreur qui dit Connected
et Wifi
.
Lorsque mon téléphone se connecte au réseau Wi-Fi, le journal apparaît comme ceci.
11-02 16:45:22.611 6678-6678/com.bedrock.live D/WifiConnection: Connected
11-02 16:45:22.622 6678-6678/com.bedrock.live D/WifiConnection: HomeWifi
11-02 16:45:22.627 6678-6678/com.bedrock.live D/WifiConnection: Connected
11-02 16:45:22.627 6678-6678/com.bedrock.live D/WifiConnection: HomeWifi
11-02 16:45:25.842 6678-6678/com.bedrock.live D/WifiConnection: Connected
11-02 16:45:25.843 6678-6678/com.bedrock.live D/WifiConnection: HomeWifi
Il se répète trois fois. Des idées pour montrer cela une seule fois?
Merci.
alors devrais-je l'utiliser comme 'Boolean flagIsConnected;'? –
@BedrockDev Oui, vous devez utiliser le drapeau –
il montre l'erreur comme ceci: –