使用广播实时更新网络状态变化
如果网络突然断开,我们要及时地提醒用户网络已断开,要实现此功能,我们可以接收网络状态改变这样一条广播,当由连接状态变为断开状态时,系统就会发送一条广播,我们接收到之后,再通过网络的状态做出相应的操作
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"/>
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。