我在我的应用中使用广播接收器类,并且正在广播接收器类中对WiFi状态进行操作。如果WiFi断开或连接,然后做一些操作。当WiFi连接其显示正确的消息,但是当WiFi断开其不显示WiFi断开连接消息,而不是显示其他语句。使用广播接收器获取WiFi状态并对其进行操作
这是我的广播接收机类代码。
public class WifiReceiver extends BroadcastReceiver {
private static final String TAG = "NetworkStateReceiver";
@Override
public void onReceive(final Context context, final Intent intent) {
Log.d(TAG, "Network connectivity change");
if (intent.getExtras() != null) {
final ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
final NetworkInfo ni = connectivityManager.getActiveNetworkInfo();
//check if wifi is connected
if (ni != null && ni.isConnectedOrConnecting()) {
Log.i(TAG, "Network " + ni.getTypeName() + " connected");
}
else if (intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, Boolean.FALSE)) {
Log.i(TAG, "wifi disconnected");
}
else {
Log.i(TAG, "Network else state");
}
}
在清单
<receiver android:name=".WifiReceiver">
<intent-filter>
<action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
为什么会投票?任何原因? –