Android中判断网络连接是否可用
16lz
2022-06-12
一、判断网络连接是否可用
public static boolean isNetworkAvailable(Context context) { ConnectivityManager cm = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); if (cm == null) { } else { //如果仅仅是用来判断网络连接 //则可以使用 cm.getActiveNetworkInfo().isAvailable(); NetworkInfo[] info = cm.getAllNetworkInfo(); if (info != null) { for (int i = 0; i < info.length; i++) { if (info[i].getState() == NetworkInfo.State.CONNECTED) { return true; } } } } return false; }
下面的不仅可以判断,如果没有开启网络的话,就进入到网络开启那个界面,具体代码如下:
protected boolean CheckNetwork() { // TODO Auto-generated method stub boolean flag=false; ConnectivityManager cwjManager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); if(cwjManager.getActiveNetworkInfo()!=null) flag=cwjManager.getActiveNetworkInfo().isAvailable(); if(!flag){ Builder b=new AlertDialog.Builder(this).setTitle("没有可用的网络").setMessage("请开启GPRS或WIFI网路连接"); b.setPositiveButton("确定",new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Intent mIntent=new Intent("/"); ComponentName comp=new ComponentName("com.android.settings","com.android.settings.WirelessSettings"); mIntent.setComponent(comp); mIntent.setAction("android.intent.action.VIEW"); startActivity(mIntent); } }).setNegativeButton("取消", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub dialog.cancel(); } }).create(); b.show(); } return flag; }
用的时候可以这样用:
if(!CheckNetwork()) return;
二、判断GPS是否打开
public static boolean isGpsEnabled(Context context) { LocationManager lm = ((LocationManager) context .getSystemService(Context.LOCATION_SERVICE)); List<String> accessibleProviders = lm.getProviders(true); return accessibleProviders != null && accessibleProviders.size() > 0; }
下边这小段代码是用来判断手机的GPS服务是否为开启状态.如果是就提示用户GPS已经打开.
如果现在GPS 处于关闭状态,那么给用户一个提示, 然后打开GPS设置界面,让用户更改GPS为启动状态.
private void openGPSSettings(){LocationManager alm =(LocationManager)this.getSystemService( Context.LOCATION_SERVICE );if( alm.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER ) ){Toast.makeText( this, “GPS is already on”, Toast.LENGTH_SHORT ).show();}else{Toast.makeText( this, “Please turn on GPS”, Toast.LENGTH_SHORT ).show();Intent myIntent = new Intent( Settings.ACTION_SECURITY_SETTINGS );startActivity(myIntent);}}
初始化GPS设置
private void initGPS(){LocationManager locationManager=(LocationManager) this.getSystemService(Context.LOCATION_SERVICE);//判断GPS模块是否开启,如果没有则开启if(!locationManager.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER)){Toast.makeText(this, "GPS is not open,Please open it!", Toast.LENGTH_SHORT).show();Intent intent=new Intent(Settings.ACTION_SECURITY_SETTINGS);startActivityForResult(intent,0);}else {Toast.makeText(this, "GPS is ready", Toast.LENGTH_SHORT);}}
三、判断WIFI是否打开
public static boolean isWifiEnabled(Context context) { ConnectivityManager mgrConn = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); TelephonyManager mgrTel = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); return ((mgrConn.getActiveNetworkInfo() != null && mgrConn .getActiveNetworkInfo().getState() == NetworkInfo.State.CONNECTED) || mgrTel .getNetworkType() == TelephonyManager.NETWORK_TYPE_UMTS); }
四、判断是否是3G网络
public static boolean is3rd(Context context) { ConnectivityManager cm = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkINfo = cm.getActiveNetworkInfo(); if (networkINfo != null && networkINfo.getType() == ConnectivityManager.TYPE_MOBILE) { return true; } return false; }
五、判断是wifi还是3g网络,用户的体现性在这里了,wifi就可以建议下载或者在线播放。
public static boolean isWifi(Context context) { ConnectivityManager cm = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkINfo = cm.getActiveNetworkInfo(); if (networkINfo != null && networkINfo.getType() == ConnectivityManager.TYPE_WIFI) { return true; } return false; }
更多相关文章
- android开启和关闭移动网络
- 判断Android手机是否联网
- Android(安卓)监听网络变化然后刷新页面
- Android(安卓)简单的网络变化监听器
- android AudioManager
- android 使用Java自带的HttpURLConnection 连接网络 读取返回数
- android 判断耳机是否插入的几种方式
- 【Android】判断某个AP是否在系统中存在(PackageManager与Package
- android post请求接口demo