一、判断网络连接是否可用

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;           }

更多相关文章

  1. 升级android studio后,打包的apk无法访问网络
  2. Android显示和隐藏状态栏和导航栏
  3. Android 简单的网络变化监听器
  4. android 使用Java自带的HttpURLConnection 连接网络 读取返回数
  5. Android 监听网络变化然后刷新页面
  6. android开启和关闭移动网络
  7. Android中使用HttpURLConnection和HttpClient实现GET和POST请求
  8. Android五种隐藏状态栏和标题栏的方法
  9. android网络访问兼容

随机推荐

  1. Android自定义对话框
  2. android之listView之增删改查
  3. Android(安卓)广播 通知 带振动 声音
  4. android 计算时间多少分钟前
  5. Android(安卓)软键盘弹出与关闭监听
  6. android获取屏幕宽高
  7. Android(安卓)Applications Tutorial 20-
  8. android读写文件函数代码
  9. android menu学习
  10. android的WebView进度条