मैं अपने प्रकटBroadcastReceiver कई बार
<receiver android:name=".receiver.WifiReceiver" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
और निम्नलिखित BroadcastReceiver में निम्नलिखित है कहा जाता है:
public class WifiReceiver extends BroadcastReceiver {
private static String TAG = makeLogTag(WifiReceiver.class);
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager connectivityManager = (ConnectivityManager)
context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = null;
if (connectivityManager != null) {
networkInfo =
connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
LOGD(TAG, "connectivity info:" + networkInfo);
}
if(networkInfo != null && networkInfo.isConnected()) {
//TODO: see why this is called multiple times and handle schedule reloading
LOGD(TAG, "have Wifi connection and is connected");
}else
LOGD(TAG, "don't have Wifi connect or it isn't connected");
}
जब मैं मोबाइल से स्विच रिसीवर Wi-Fi से कई बार बुलाएं (कोई समस्या नहीं है) लेकिन if(networkInfo != null && networkInfo.isConnected())
शाखा सभी 4 गुना
ठीक काम करता है, लेकिन मैं प्रकट फ़ाइल में जोड़ने के लिए भी जरूरत है: '<का उपयोग करता है-अनुमति एंड्रॉयड: नाम = "android.permission.ACCESS_NETWORK_STATE" /> ' – blub