如果网络突然断开,我们要及时地提醒用户网络已断开,要实现此功能,我们可以接收网络状态改变这样一条广播,当由连接状态变为断开状态时,系统就会发送一条广播,我们接收到之后,再通过网络的状态做出相应的操作

publicclassNetworkStateReceiverextendsBroadcastReceiver{

@Override

publicvoidonReceive(Contextcontext,Intentintent){

if(!isNetworkAvailable(context)){

//网络不可用操作

} else{

//网络可用操作

}

}


/**

*网络是否可用

*

*/

publicstaticbooleanisNetworkAvailable(Contextcontext){

ConnectivityManagermgr=(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo[]info=mgr.getAllNetworkInfo();

if(info!=null){

for(inti=0;i<info.length;i++){

if(info[i].getState()==NetworkInfo.State.CONNECTED){

returntrue;

}

}

}

returnfalse;

}

}


再注册一下这个接收者的信息:


<receiverandroid:name=".NetworkStateReceiver">

<intent-filter>

<actionandroid:name="android.net.conn.CONNECTIVITY_CHANGE"/>

<categoryandroid:name="android.intent.category.DEFAULT"/>

</intent-filter>

</receiver>

还要添加网络限权:

<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>