《2022年判断网络连接 .pdf》由会员分享,可在线阅读,更多相关《2022年判断网络连接 .pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Android中判断网络连接是否可用一、判 断网络连 接是否可用public static boolean isNetworkAvailable(Context context) ConnectivityManager cm = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); if (cm = null) else / 如果仅仅是用来判断网络连 接/ 则可以使用cm.getActiveNetworkInfo().isAvailable(); NetworkInfo info = cm.
2、getAllNetworkInfo(); if (info != null) for (int i = 0; i info.length; i+) if (infoi.getState() = NetworkInfo.State.CONNECTED) return true; return false; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - 下面的不 仅可以判 断,如果 没有开启网络 的话,就进入到网络开启 那个界面,
3、具体代 码如下: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(!fla
4、g) 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=
5、new ComponentName(com.android.settings,com.android.settings.WirelessSettings); mIntent.setComponent(comp); mIntent.setAction(android.intent.action.VIEW); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 7 页 - - - - - - - - - startActivity(mIntent); ).setNegativeB
6、utton(取消, 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) Locati
7、onManager lm = (LocationManager) context .getSystemService(Context.LOCATION_SERVICE); List accessibleProviders = lm.getProviders(true); return accessibleProviders != null & accessibleProviders.size() 0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 7 页 - - - -
8、 - - - - - 下边这小段代 码是用来判断手机的 GPS 服务是否为开启状态 .如果是就提示用户 GPS 已经打开. 如果现在 GPS 处于关闭状态 ,那么给用户一个提示 , 然后打 开 GPS 设置界面,让用户更改 GPS 为启动状态 . private void openGPSSettings() LocationManager alm =(LocationManager)this.getSystemService( Context.LOCATION_SERVICE ); if( alm.isProviderEnabled(android.location.LocationManag
9、er.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() Locati
10、onManager locationManager=(LocationManager) this.getSystemService(Context.LOCATION_SERVICE); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 7 页 - - - - - - - - - /判断GPS模块是否开启,如果没有则开启if(!locationManager.isProviderEnabled(android.location.LocationManager.GPS_PROV
11、IDER) 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(Cont
12、ext context) ConnectivityManager mgrConn = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); TelephonyManager mgrTel = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); return (mgrConn.getActiveNetworkInfo() != null & mgrConn .getActiveNetworkInfo(
13、).getState() = NetworkInfo.State.CONNECTED) | mgrTel .getNetworkType() = TelephonyManager.NETWORK_TYPE_UMTS); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 7 页 - - - - - - - - - 四、判 断是否是 3G 网络public static boolean is3rd(Context context) ConnectivityManager cm
14、= (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 就可以建 议下载或者在 线播放。publ
15、ic 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; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 7 页 - - - - - - - - - return false; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 7 页 - - - - - - - - -
限制150内