Android 判断是否有外网连接
Android里判断是否可以上网,常用的是如下方法:
/**
*检测网络是否连接
*
*@return
*/
privatebooleanisNetworkAvailable(){
//得到网络连接信息
ConnectivityManagermanager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
//去进行判断网络是否连接
if(manager.getActiveNetworkInfo()!=null){
returnmanager.getActiveNetworkInfo().isAvailable();
}
returnfalse;
}
有时候我们连接上一个没有外网连接的WiFi或者有线就会出现这种极端的情况,目前AndroidSDK还不能识别这种情况,一般的解决办法就是ping一个外网。
/*@authorsuncat
*@category判断是否有外网连接(普通方法不能判断外网的网络是否连接,比如连接上局域网)
*@return
*/
publicstaticfinalbooleanping(){
Stringresult=null;
try{
Stringip="www.baidu.com";//ping的地址,可以换成任何一种可靠的外网
Processp=Runtime.getRuntime().exec("ping-c3-w100"+ip);//ping网址3次
//读取ping的内容,可以不加
InputStreaminput=p.getInputStream();
BufferedReaderin=newBufferedReader(newInputStreamReader(input));
StringBufferstringBuffer=newStringBuffer();
Stringcontent="";
while((content=in.readLine())!=null){
stringBuffer.append(content);
}
Log.d("------ping-----","resultcontent:"+stringBuffer.toString());
//ping的状态
intstatus=p.waitFor();
if(status==0){
result="success";
returntrue;
}else{
result="failed";
}
}catch(IOExceptione){
result="IOException";
}catch(InterruptedExceptione){
result="InterruptedException";
}finally{
Log.d("----result---","result="+result);
}
returnfalse;
}
热门推荐
10 五一公司放假祝福语简短
11 追星女孩的祝福语简短
12 给长辈端午祝福语 简短
13 生日祝福语有诗意简短
14 团圆日祝福语简短
15 中秋商务祝福语简短最新
16 温暖文艺简短祝福语短句
17 男孩上学祝福语简短的
18 入住酒店文案祝福语简短