android检测网络是否正常
16lz
2021-01-26
按照惯例,先上图后代码
在实际开发中,尤其是在网络应用开发中,时常要判断网络是否处在联网状态,以及给用户友好的提示,由于需要在每个界面中有需要对其进行检测,所以我们把它封转成一个方法,让每个activity公用。
首先是工具类
注意需要添加权限<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
在实际开发中,尤其是在网络应用开发中,时常要判断网络是否处在联网状态,以及给用户友好的提示,由于需要在每个界面中有需要对其进行检测,所以我们把它封转成一个方法,让每个activity公用。
首先是工具类
import android.app.Activity;import android.app.AlertDialog;import android.content.Context;import android.content.DialogInterface;import android.content.Intent;import android.net.ConnectivityManager;import android.net.NetworkInfo;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() {@Overridepublic void onClick(DialogInterface dialog, int which) { Intent intent = new Intent("android.settings.WIRELESS_SETTINGS"); activity.startActivity(intent); activity.finish();}});builder.show();}}}
注意需要添加权限<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
更多相关文章
- Android(安卓)网络连接 打开 Url下载 信息
- Android(安卓)Studio V3.12环境下TV开发教程(二)管理电视控制器
- Context都没弄明白,还怎么做Android开发?[转]
- 《Android开发艺术探索》摘录2
- Android开发资料收集(转)
- ListView中开发问题汇总
- Xposed模块开发Cannot load module问题
- 使用Kotlin来开发Android
- GitHub上最火的40个Android开源项目(二)