package com.jiuqi.njt.data;
import java.util.ArrayList;
import android.app.ActivityManager;
import android.app.ActivityManager.RunningServiceInfo;
import android.content.Context;
import android.location.LocationManager;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.telephony.TelephonyManager;
public class CheckStateInterface {
private Context context;
private LocationManager locMgr;
public CheckStateInterface(Context context){
this.context = context;
}
/**
* 检测网络状况
* @return
*/
public boolean checkConnection() {
boolean netState = false;//网络连接失败!
@SuppressWarnings("static-access")
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(context.CONNECTIVITY_SERVICE);
NetworkInfo networkinfo = connectivityManager.getActiveNetworkInfo();
System.out.println("网络监测:" + (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、已打开
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;
}
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();
if (!(simState == TelephonyManager.SIM_STATE_READY)) {
if (simState == TelephonyManager.SIM_STATE_ABSENT) {
simResult = 0;
//simStateAlter = "SIM卡不可用,请重新装入SIM卡,或者更换新卡!";
} else {
simResult = 1;
//simStateAlter = "无法获取SIM卡状态,请重新装入SIM卡,或者更换新卡!";
}
} else{
simResult = 2;
}
return simResult;
}
/**
* 判断服务是否运行
*
* @return
*/
public static boolean isServiceRunning(Context context,String serviceName) {
ActivityManager myManager = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
ArrayList<RunningServiceInfo> runningService = (ArrayList<RunningServiceInfo>) myManager
.getRunningServices(Integer.MAX_VALUE);
for (int i = 0; i < runningService.size(); i++) {
if (runningService.get(i).service.getClassName().toString()
.equals(serviceName)) {
return true;
}
}
return false;
}
}