Android-网络状态广播接收器未接收到意图
我有一个广播接收器,需要收听网络变化-Android-网络状态广播接收器未接收到意图,android,broadcastreceiver,intentfilter,Android,Broadcastreceiver,Intentfilter,我有一个广播接收器,需要收听网络变化- BroadcastReceiver networkStateReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { boolean noConnectivity = intent.getBooleanExtra(ConnectivityManager.E
BroadcastReceiver networkStateReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
boolean noConnectivity =
intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false);
if(!noConnectivity)
{
//some stuff
}
}
};
我使用以下方式注册它—
public void startListening() {
IntentFilter filter = new IntentFilter();
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
context.registerReceiver(networkStateReceiver, filter);
}
我已在舱单中添加以下许可:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
当我将手机切换到飞行模式、关闭wifi等时,networkStateReceiver仍然没有收到任何意图。我是否遗漏了什么?尝试使用此操作:
意图.行动\飞机\模式\更改
编辑
或对于所有网络状态更改,请使用:
“android.intent.action.SERVICE\u STATE”
您可以使用:
首先,在@Override之前添加此项
private boolean isConnected = true;
private Context c;
然后使用它
//check for connectivity:
ConnectivityManager connectivityManager = (ConnectivityManager)
c.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo TestConnetion = connectivityManager.getActiveNetworkInfo();
if (TestConnetion == null){
isConnected=false;
}
我做了同样的实验。。。你修好了吗?这为什么回答了这个问题?这对将意图发送给接收者有何帮助?谢谢您的回答。:)