0
伙计。Wi-Fi连接监听器
我的wifi监听器出现了一些问题。
我为此已使用BroadcastReceiver
。
这是我的代码。
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");
}}
正如你所看到的,是有记录仪,上面写着Connected
和Wifi
。
当我的手机连接到无线网络,th日志显示这样。
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
它重复三次。任何想法只显示一次?
谢谢。
所以我应该使用这个'布尔flagIsConnected;'? –
@BedrockDev是的,你应该使用国旗 –
它显示这样的错误: –