package com.jqyd.shareInterface; import android.content.Context; import android.hardware.Camera; import android.location.LocationManager; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.telephony.TelephonyManager; import android.util.Log; import android.widget.Toast; public class CheckState_interface { private Context context; private LocationManager locMgr; public CheckState_interface(Context context) { this.context = context; } public int checkWifiAndGPRS() { Boolean WIFI = false; Boolean GPRS = false; int netState = 4; ConnectivityManager connectivity = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivity != null) { NetworkInfo networkInfo = connectivity .getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (false == networkInfo.isConnectedOrConnecting()) { WIFI = false; } else { WIFI = true; } NetworkInfo gprsInfo = connectivity .getNetworkInfo(ConnectivityManager.TYPE_MOBILE); if (false == gprsInfo.isConnectedOrConnecting()) { GPRS = false; } else { GPRS = true; } } if (WIFI == true && GPRS == true) { netState = 1; } else if (WIFI == false && GPRS == true) { netState = 2; } else if (WIFI == true && GPRS == false) { netState = 3; } else if (WIFI == false && GPRS == false) { netState = 4; } return netState; } /** * 检测网络状况 * * @return */ public boolean checkConnection() { boolean netState = false;// 网络连接失败! @SuppressWarnings("static-access") ConnectivityManager connectivityManager = (ConnectivityManager) context .getSystemService(context.CONNECTIVITY_SERVICE); NetworkInfo networkinfo = connectivityManager.getActiveNetworkInfo(); Log.i("NET", "网络监测:" + (connectivityManager == null) + "," + (networkinfo == null)); if (connectivityManager != null && networkinfo != null) { netState = true;// 当前网络可用 // new Toast(Context.this).makeText(context.this, // "检查到没有可用的网络,请打开网络连接!", // Toast.LENGTH_LONG).show(); } return netState; } /** * 检查GPS状态 */ public int checkGpState() { int gpsResult = 0;// 0、未打开1、已打开 // 部分手机在调用GPS时有问题,故做异常处理。例:酷派 try { locMgr = (LocationManager) context .getSystemService(Context.LOCATION_SERVICE); if (!locMgr .isProviderEnabled(android.location.LocationManager.GPS_PROVIDER)) { gpsResult = 0; } if (locMgr .isProviderEnabled(android.location.LocationManager.GPS_PROVIDER)) { gpsResult = 1; } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return gpsResult; } /** * 检查SIM卡是否可用 */ public int checkSimState() { int simResult = 0;// 0、SIM卡不可用1、无法读取SIM卡状态2、SIM卡可用 TelephonyManager telPhoneMgr = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); // 检查Sim卡状态 int int simState = telPhoneMgr.getSimState(); Log.i("SIM", String.valueOf(simState).toString()); Log.i("SIM", "TelephonyManager.SIM_STATE_READY:" + TelephonyManager.SIM_STATE_READY); Log.i("SIM", "TelephonyManager.SIM_STATE_ABSENT:" + TelephonyManager.SIM_STATE_ABSENT); final int sim_ready = TelephonyManager.SIM_STATE_READY; final int sim_absent = TelephonyManager.SIM_STATE_ABSENT; switch (simState) { case sim_ready: // 可用 simResult = 0; break; case sim_absent: // simStateAlter = "SIM卡未找到,请重新装入SIM卡,或者更换新卡!"; simResult = 1; break; default: // simStateAlter = "读取SIM卡失败,请重新装入SIM卡,或者更换新卡!"; simResult = 2; } return simResult; } /** * 检查相机是否可用 */ public int checkCameraState() { int result = 1;// 0、不可用1、可用 Camera mCamera = null; try { mCamera = Camera.open(); mCamera.release(); mCamera = null; } catch (Exception e) { result = 0; } return result; } }