【发布时间】:2015-11-02 07:47:27
【问题描述】:
伙计们。
我的 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。
当我的手机连接到wifi时,日志显示如下。
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
它重复了三遍。有什么想法可以只展示一次吗?
谢谢。
【问题讨论】:
标签: android broadcastreceiver android-wifi wifimanager