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