Android开发之判断网络是否连接并提示设置

本文提供了一个用于检测网络连接状态的方法,并在未连接时弹出对话框引导用户设置网络。针对不同Android版本,实现了一个兼容性的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先声明,由于优快云并没有转载功能,我无奈也只能复制粘贴,
 
 
  1. /** 
  2.      * 判断网络是否连通 
  3.      * @param context 
  4.      * @return 
  5.      */  
  6.     public static boolean isNetworkConnected(Context context){  
  7.         ConnectivityManager cm = (ConnectivityManager) context.getSystemService(context.CONNECTIVITY_SERVICE);  
  8.         NetworkInfo info = cm.getActiveNetworkInfo();  
  9.         return info != null && info.isConnected();    
  10.     }  
/**
	 * 判断网络是否连通
	 * @param context
	 * @return
	 */
	public static boolean isNetworkConnected(Context context){
		ConnectivityManager cm = (ConnectivityManager) context.getSystemService(context.CONNECTIVITY_SERVICE);
		NetworkInfo info = cm.getActiveNetworkInfo();
		return info != null && info.isConnected();	
	}


弹出对话框并设置

 
  1. //如果网络连接  
  2.                 if(Util.isNetworkConnected(context)){  
  3.                     mMainFrameTask = new MainFrameTask();  
  4.                     mMainFrameTask.execute();  
  5.                 }else{  
  6.                     AlertDialog.Builder builder = new Builder(context);  
  7.                     builder.setTitle("设置网络");  
  8.                     builder.setMessage("网络错误,请设置网络");  
  9.                       
  10.                     builder.setPositiveButton("设置网络",new DialogInterface.OnClickListener() {  
  11.                           
  12.                         @Override  
  13.                         public void onClick(DialogInterface dialog, int which) {  
  14.                             //获取系统版本号  
  15.                             /* Build.VERSION_CODES 
  16.                                 1 (0x00000001)           Android 1.0             BASE 
  17.                                 2 (0x00000002)           Android 1.1             BASE_1_1 
  18.                                 3 (0x00000003)           Android 1.5             CUPCAKE 
  19.                                 4 (0x00000004)           Android 1.6             DONUT 
  20.                                 5 (0x00000005)           Android 2.0             ECLAIR 
  21.                                 6 (0x00000006)           Android 2.0.1          ECLAIR_0_1 
  22.                                 7 (0x00000007)           Android 2.1             ECLAIR_MR1 
  23.                                 8 (0x00000008)           Android 2.2             FROYO 
  24.                                 9 (0x00000009)           Android 2.3             GINGERBREAD 
  25.                                 10 (0x0000000a)         Android 2.3.3          GINGERBREAD_MR1 
  26.                                 11 (0x0000000b)         Android 3.0             HONEYCOMB 
  27.                                 12 (0x0000000c)         Android 3.1             HONEYCOMB_MR1 
  28.                                 13 (0x0000000d)         Android 3.2             HONEYCOMB_MR2 */  
  29.                             int currentapiVersion=android.os.Build.VERSION.SDK_INT;  
  30.                             System.out.println("currentapiVersion = " + currentapiVersion);  
  31.                             Intent intent;  
  32.                             if(currentapiVersion < 11){  
  33.                                 intent = new Intent();  
  34.                                 intent.setClassName("com.android.settings""com.android.settings.WirelessSettings");  
  35.                             }else{  
  36.                                 //3.0以后  
  37.                                 //intent = new Intent( android.provider.Settings.ACTION_WIRELESS_SETTINGS);  
  38.                                 intent = new Intent( android.provider.Settings.ACTION_SETTINGS);  
  39.                             }  
  40.                             context.startActivity(intent);  
  41.                         }  
  42.                     });  
  43.                     builder.setNegativeButton("取消"new DialogInterface.OnClickListener() {  
  44.                           
  45.                         @Override  
  46.                         public void onClick(DialogInterface dialog, int which) {  
  47.                               
  48.                         }  
  49.                     });  
  50.                     builder.create().show();  
  51.                 }  
  52.             }  
//如果网络连接
				if(Util.isNetworkConnected(context)){
					mMainFrameTask = new MainFrameTask();
					mMainFrameTask.execute();
				}else{
					AlertDialog.Builder builder = new Builder(context);
					builder.setTitle("设置网络");
					builder.setMessage("网络错误,请设置网络");
					
					builder.setPositiveButton("设置网络",new DialogInterface.OnClickListener() {
						
						@Override
						public void onClick(DialogInterface dialog, int which) {
							//获取系统版本号
							/* Build.VERSION_CODES
							    1 (0x00000001)           Android 1.0             BASE
							    2 (0x00000002)           Android 1.1             BASE_1_1
							    3 (0x00000003)           Android 1.5             CUPCAKE
							    4 (0x00000004)           Android 1.6             DONUT
							    5 (0x00000005)           Android 2.0             ECLAIR
							    6 (0x00000006)           Android 2.0.1          ECLAIR_0_1
							    7 (0x00000007)           Android 2.1             ECLAIR_MR1
							    8 (0x00000008)           Android 2.2             FROYO
							    9 (0x00000009)           Android 2.3             GINGERBREAD
							    10 (0x0000000a)         Android 2.3.3          GINGERBREAD_MR1
							    11 (0x0000000b)         Android 3.0             HONEYCOMB
							    12 (0x0000000c)         Android 3.1             HONEYCOMB_MR1
							    13 (0x0000000d)         Android 3.2             HONEYCOMB_MR2 */
							int currentapiVersion=android.os.Build.VERSION.SDK_INT;
							System.out.println("currentapiVersion = " + currentapiVersion);
							Intent intent;
							if(currentapiVersion < 11){
								intent = new Intent();
								intent.setClassName("com.android.settings", "com.android.settings.WirelessSettings");
							}else{
								//3.0以后
								//intent = new Intent( android.provider.Settings.ACTION_WIRELESS_SETTINGS);
								intent = new Intent( android.provider.Settings.ACTION_SETTINGS);
							}
							context.startActivity(intent);
						}
					});
					builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
						
						@Override
						public void onClick(DialogInterface dialog, int which) {
							
						}
					});
					builder.create().show();
				}
			}

注意:3.0以前和3.0以后的设置网络方法不同。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值