您的位置:首页 > 理论基础 > 计算机网络

Android判断网络是否正常

2016-05-18 14:23 447 查看
我们经常需要判断网络是否连通,这里找了一段代码可行。

ConnectivityManager connectionManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo=connectionManager.getActiveNetworkInfo();
if ((networkInfo!=null)&&networkInfo.isAvailable()){
Toast.makeText(fourthActivity.this,"网络可用 ",Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(fourthActivity.this, "网络不可用", Toast.LENGTH_SHORT).show();
}

比如我现在要访问我的博客,布局文件很简单就是一个webview
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<WebView
android:id="@+id/web_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
活动
public class fourthActivity extends BaseActivity{
private WebView webView;
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
setContentView(R.layout.fourth_layout);
webView = (WebView)findViewById(R.id.web_view);
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view ,String url){
view.loadUrl(url);
return true;
}
} );
ConnectivityManager connectionManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo=connectionManager.getActiveNetworkInfo();
if ((networkInfo!=null)&&networkInfo.isAvailable()){
Toast.makeText(fourthActivity.this,"网络可用  ",Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(fourthActivity.this, "网络不可用", Toast.LENGTH_SHORT).show();
}
webView.loadUrl("http://blog.csdn.net/fengsigaoju");
}
}
注意访问网络和了解网络状态都需要权限(当然活动本身也需要注册了,这里就不提了)
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>

直接放在mainfest下第一个就可以
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: