您的位置:首页 > 理论基础 > 计算机网络

Android :判断网络是否连接,并设置连接网络

2017-06-29 16:24 387 查看
注意:在写代码之前一定要添加权限、

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
  <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

 写的只是两种方法,自由调用

/** 方法一:判断网络连接是否已开*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;}
/* 方法二没有网络跳转到网络设置页面* 打开设置网络界面* */public static void setNetworkMethod(final Context context){//提示对话框AlertDialog.Builder builder=new AlertDialog.Builder(context);builder.setTitle("网络设置提示").setMessage("网络连接不可用,是否进行设置?").setPositiveButton("设置", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubIntent intent=null;//判断手机系统的版本即API大于10 就是3.0或以上版本if(Build.VERSION.SDK_INT>10){intent = new Intent(Settings.ACTION_WIRELESS_SETTINGS);}else{intent = new Intent();ComponentName component = new ComponentName("com.android.settings","com.android.settings.WirelessSettings");intent.setComponent(component);intent.setAction("android.intent.action.VIEW");}context.startActivity(intent);}}).setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubdialog.dismiss();}}).show();}

以下是具体代码

当然一般我们打开一个activity的时候,可能首先会去监测是否有网:

在MainActivity

public class MainActivity extends AppCompatActivity {
@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main); 
boolean conn = ConnectionUtil.isConn(getContext());//如果没有网络if (!conn) {//调用网络工具类中的方法,跳转到设置网络的界面ConnectionUtil.setNetworkMethod(getContext());  } else { //有的话就做自己的操作}

网络工具类

public class ConnectionUtil {/** 判断网络连接是否已开*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;}/** 打开设置网络界面* */public static void setNetworkMethod(final Context context){//提示对话框AlertDialog.Builder builder=new AlertDialog.Builder(context);builder.setTitle("网络设置提示").setMessage("网络连接不可用,是否进行设置?").setPositiveButton("设置", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubIntent4000intent=null;//判断手机系统的版本即API大于10 就是3.0或以上版本if(android.os.Build.VERSION.SDK_INT>10){intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS);}else{intent = new Intent();ComponentName component = new ComponentName("com.android.settings","com.android.settings.WirelessSettings");intent.setComponent(component);intent.setAction("android.intent.action.VIEW");}context.startActivity(intent);}}).setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubdialog.dismiss();}}).show();}} 

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: