官方文档:https://developer.android.com/reference/android/net/ConnectivityManager.html#getActiveNetworkInfo()
-
- //Check network
- public void CheckNetworkState()
- {
- boolean flag = false;
- ConnectivityManager manager = (ConnectivityManager)getSystemService(
- Context.CONNECTIVITY_SERVICE);
- State mobile = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
- State wifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
- //如果3G、wifi、2G等网络状态是连接的,则退出,否则显示提示信息进入网络设置界面
- if(mobile == State.CONNECTED||mobile==State.CONNECTING)
- return;
- if(wifi == State.CONNECTED||wifi==State.CONNECTING)
- return;
- showTips();
- }
-
- private void showTips()
- {
- AlertDialog.Builder builder = new AlertDialog.Builder(this);
- builder.setIcon(android.R.drawable.ic_dialog_alert);
- builder.setTitle(R.string.netstate);
- builder.setMessage(R.string.setnetwork);
- builder.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
-
- @Override
- public void onClick(DialogInterface dialog, int which) {
- // 如果没有网络连接,则进入网络设置界面
- startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS));
- }
- });
- builder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
-
- @Override
- public void onClick(DialogInterface dialog, int which) {
- dialog.cancel();
- }
- });
- builder.create();
- builder.show();
- }