0
我試圖使用BroadcastReceiver來檢測WiFi是否連接,並簡單地顯示狀態變化時的烤麪包(wifi disonnect/reconnect/turn off)似乎工作。有任何想法嗎?BroadcastReceiver無法正常工作(檢測WiFi是否連接)
ConnectionChangeReceiver類:
public class ConnectionChangeReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
ConnectivityManager connMgr = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
final boolean isWifiConn = networkInfo.isConnected();
Log.d("debug", "Wifi connected: " + isWifiConn);
Toast toast = Toast.makeText(context, "Wifi connected: " + isWifiConn, Toast.LENGTH_LONG);
toast.show();
}
}
清單:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<receiver android:name="ConnectionChangeReceiver" android:label="NetworkConnection">
<intent-filter>
<action android:name="android.net.wifi.WIFI_STATE_CHANGED"/>
<action android:name="android.net.wifi.STATE_CHANGE"/>
</intent-filter>
</receiver>
我走在應用程序,並斷開無線網絡連接,重新連接,沒有面包。我禁用了wifi,沒有烤麪包。重新啓用它,不要烤麪包。我懷疑廣播接收機有問題。
在此先感謝。
我猜這會多次點燃wifi甚至一次改變? –
是的,你是對的。當從WIFI關閉 - >開啓時,我注意到它激發了兩次。一旦使用isAvaialble(),true && isConnected()爲false,第二次使用isAvailable()true && isConnected()爲true。儘管應用程序不應該太緊張,而且我還沒有找到解決方法。我相信這是正確的實施。 – Jonny07