网络判断

来源:互联网 发布:php判断时间前后 编辑:程序博客网 时间:2024/06/15 21:04

1、首先先加权限

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
2、创建一个工具类

/** * 得到网络状态的工具类 * Created by e531 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();    }}
3、main方法中

public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //判断网络是否连接        boolean conn = NetStateUtil.isConn(this);        if (!conn){            NetStateUtil.showNoNetWorkDlg(this);        }    }}