常用工具类:网络状态判断NetStateUtil()

来源:互联网 发布:优化游戏的软件 编辑:程序博客网 时间:2024/05/08 12:40
/** * 得到网络状态的工具类 * Created by lzh on 2017/10/16. */public class NetStateUtil {    /* * 判断网络连接是否已开 * true 已打开  false 未打开 * */    public static boolean isConn(Context context){        boolean bisConnFlag=false;        ConnectivityManager conManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);        NetworkInfo network = conManager.getActiveNetworkInfo();        if(network!=null){            bisConnFlag=conManager.getActiveNetworkInfo().isAvailable();        }        return bisConnFlag;    }    /**     * 当判断当前手机没有网络时选择是否打开网络设置     * @param context     */    public static void showNoNetWorkDlg(final Context context) {        AlertDialog.Builder builder = new AlertDialog.Builder(context);        builder.setIcon(R.mipmap.ic_launcher)         //                .setTitle(R.string.app_name)            //                .setMessage("当前无网络").setPositiveButton("设置", new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                // 跳转到系统的网络设置界面                Intent intent = null;                // 先判断当前系统版本                if(android.os.Build.VERSION.SDK_INT > 10){  // 3.0以上                    intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS);                }else{                    intent = new Intent();                    intent.setClassName("com.android.settings", "com.android.settings.WirelessSettings");                }                context.startActivity(intent);            }        }).setNegativeButton("知道了", null).show();    }}

加权限: android:name=”android.permission.ACCESS_NETWORK_STATE”

public class MainActivity extends AppCompatActivity {    private ConnectivityManager connectivityManager;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initNetState();    }    private void initNetState() {        //获取网络状态管理器        connectivityManager = (ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE);        //得到当前活跃的网络        NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();        NetworkInfo.State state = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();        if (NetworkInfo.State.CONNECTED == state){            Toast.makeText(this,"当前使用的是WiFi网络",Toast.LENGTH_SHORT).show();        }else{            Toast.makeText(this,"当前使用的是移动网络",Toast.LENGTH_SHORT).show();        }        //得到移动网络状态        NetworkInfo.State stateMOBILE = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();        if (NetworkInfo.State.CONNECTED == stateMOBILE){            new AlertDialog.Builder(this)                    .setTitle("设置")                    .setIcon(R.mipmap.ic_launcher)                    .setMessage("当前处于移动网络状态,请在WiFi下使用")                    .setPositiveButton("土豪访问",new AlertDialog.OnClickListener(){                        @Override                        public void onClick(DialogInterface dialogInterface, int i) {                            //编写网络请求代码                        }                    })                    .setNegativeButton("停止访问",null)                    .setNeutralButton("中立按钮",null)                    .show();        }        else{            Toast.makeText(this,"无网络,请检查",Toast.LENGTH_SHORT).show();        }    }}
原创粉丝点击