Android检测网络是否正常
2015-07-05 16:36
706 查看
转载自:点击打开链接
[align=left]按照惯例,先上图后代码[/align]
[align=left][/align]
[align=left][/align]
[align=left]在实际开发中,尤其是在网络应用开发中,时常要判断网络是否处在联网状态,以及给用户友好的提示,由于需要在每个界面中有需要对其进行检测,所以我们把它封转成一个方法,让每个activity公用。[/align]
[align=left]首先是工具类[/align]
Java代码
[align=left]然后是需要检测的activity[/align]
Java代码
注意需要添加权限<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
[align=left]按照惯例,先上图后代码[/align]
[align=left][/align]
[align=left][/align]
[align=left]在实际开发中,尤其是在网络应用开发中,时常要判断网络是否处在联网状态,以及给用户友好的提示,由于需要在每个界面中有需要对其进行检测,所以我们把它封转成一个方法,让每个activity公用。[/align]
[align=left]首先是工具类[/align]
Java代码
import android.app.Activity; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.widget.Toast; public class CheckHttpUtil { public static boolean isNetworkAvailable(Activity mActivity){ Context context = mActivity.getApplicationContext(); ConnectivityManager connectivity = (ConnectivityManager)context.getSystemService( Context.CONNECTIVITY_SERVICE); if(connectivity == null){ return false; }else { NetworkInfo[] info = connectivity.getAllNetworkInfo(); if(info != null ){ for(int i=0; i<info.length; i++){ if(info[i].getState() == NetworkInfo.State.CONNECTED){ return true; } } } } return false; } public static void checkhttp(final Activity activity){ if(!isNetworkAvailable(activity)){ AlertDialog.Builder builder = new AlertDialog.Builder(activity); builder.setTitle("网络错误,请检查网络设置"); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub activity.finish(); } }); builder.show(); }else { //这儿主要是用来测试的,实际中没有必要... Toast.makeText(activity, "网络正常", Toast.LENGTH_LONG).show(); } } }
[align=left]然后是需要检测的activity[/align]
Java代码
public class MainActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); CheckHttpUtil.checkhttp(this); } }
注意需要添加权限<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
相关文章推荐
- 关于加载网络图片时候 ,URL.openstream抛出异常的问题的解决
- javaweb学习总结(八)——HttpServletResponse对象(二)
- 开源C/C++网络库比较 ace &&bosst
- 再学贝叶斯网络--TAN树型朴素贝叶斯算法
- [华为机试练习题]54.判断任意两台计算机的IP地址是否属于同一子网络
- linux阻塞式网络小程序
- 网络限制解决方案
- 一些tcp通讯代码
- HTTP请求头
- TCP应用编程
- 常用http状态码
- TCP/IP 端口号大全
- 卷积神经网络之一:基本原理
- Peer To Peer——对等网络
- Unix Network 2
- Unix Network 1
- CNN卷积神经网络学习笔记1:背景介绍
- iOS开发网络篇—监测网络状态
- (6)Zabbix模版+网络发现
- iOS开发网络篇—数据缓存