在android中开发具有网络交互的应用时,必须用到的工具类NetUtil

package com.example.test;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;import android.net.NetworkInfo.State;import android.provider.Settings;import android.util.Log;import android.widget.TextView;public class NetUtil {/** * 判断网络情况 *  * @param context  上下文 * @return false 表示没有网络 true 表示有网络 */public static boolean isNetworkAvalible(Context context) {// 获得网络状态管理器ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);if (connectivityManager == null) {return false;} else {// 建立网络数组NetworkInfo[] net_info = connectivityManager.getAllNetworkInfo();if (net_info != null) {for (int i = 0; i < net_info.length; i++) {// 判断获得的网络状态是否是处于连接状态if (net_info[i].getState() == NetworkInfo.State.CONNECTED) {return true;}}}}return false;}// 如果没有网络,则弹出网络设置对话框public static void checkNetwork(final Activity activity) {if (!NetUtil.isNetworkAvalible(activity)) {TextView msg = new TextView(activity);msg.setText("当前没有可以使用的网络,请设置网络!");new AlertDialog.Builder(activity).setIcon(R.drawable.ic_launcher).setTitle("网络状态提示").setView(msg).setPositiveButton("确定", new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int whichButton) {// 跳转到设置界面activity.startActivityForResult(new Intent(Settings.ACTION_WIRELESS_SETTINGS), 0);}}).create().show();}return;}/** * 判断网络是否连接 **/public static boolean netState(Context context) {ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);// 获取代表联网状态的NetWorkInfo对象NetworkInfo networkInfo = connManager.getActiveNetworkInfo();// 获取当前的网络连接是否可用boolean available = false;try {available = networkInfo.isAvailable();} catch (Exception e) {e.printStackTrace();return false;}if (available) {Log.i("通知", "当前的网络连接可用");return true;} else {Log.i("通知", "当前的网络连接可用");return false;}}/** * 在连接到网络基础之上,判断设备是否是SIM网络连接 *  * @param context * @return */public static boolean IsMobileNetConnect(Context context) {try {ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);State state = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();if (State.CONNECTED == state)return true;elsereturn false;} catch (Exception e) {e.printStackTrace();return false;}}}

需要时直接加入自己的项目中就好了,很实用的工具类。

更多相关文章

  1. Android通过http协议POST传输方式
  2. Android通过http协议POST传输方式
  3. Android通过http协议POST传输方式
  4. Android(安卓)基础知识点(持续更新)
  5. Android(安卓)支持网络协议以及简单用法
  6. android的selector,背景选择器
  7. Android中的几种网络请求方式详解
  8. Android(安卓)TV框架 TIF(Android(安卓)TV Input Framework)入门实
  9. Android(安卓)Studio中如何隐藏顶部状态栏和标题栏

随机推荐

  1. 一个简单的中英文翻译词典学习(类似灵格斯
  2. Android 3.0 r1 API中文文档(105) ―― V
  3. Android 内核源代码交叉编译
  4. Flutter通过BasicMessageChannel实现Flut
  5. Android(安卓)SDK无法更新解决办法
  6. android editText 插入表情,或者是图片
  7. Android(安卓)JNI详述
  8. Android中的多线程
  9. 【OpenCV4Android学习一】 Android(安卓)
  10. Android 更改软键盘Enter键为搜索