package com.enqualcomm.support.utils;
-import android.app.Notification;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
-import android.hardware.display.DisplayManager;
-import android.media.AudioManager;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
-import android.os.Build;
import android.os.PowerManager;
import android.provider.Settings;
import android.telephony.TelephonyManager;
-import android.view.Display;
+
import com.enqualcomm.support.bean.Runtime;
import static android.content.Context.POWER_SERVICE;
import static android.telephony.TelephonyManager.NETWORK_TYPE_UMTS;
public class SimSignalUtil {
- public static final int IS_2G = 0;
-
- public static final int IS_3G = 1;
-
- public static final int IS_4G = 2;
-
- public static final int IS_UNKNOWN = -1;
-
- protected static SimSignalUtil simSignalUtil=null;
-
- Context context;
-
- int last_WorkType = -1;
-
- private int mNetworkType;
-
- int[] netWorkTypeArr = { 2, 2, 2, 2, 2 };
-
- private SimSignalUtil(Context paramContext) {
- this.context = paramContext;
- init();
- }
-
- public synchronized static SimSignalUtil getInstance(Context paramContext) {
- if (simSignalUtil ==null)
- simSignalUtil = new SimSignalUtil(paramContext);
- return simSignalUtil;
- }
- public boolean IsAirModeOn() { return (Settings.System.getInt(this.context.getContentResolver(), "airplane_mode_on", 0) == 1); }
-
- public void changeNetWorkType(int paramInt1, int paramInt2) {
- StringBuilder stringBuilder = new StringBuilder();
- stringBuilder.append("BuildConfig.upLoadData=falsenetworkType=");
- stringBuilder.append(paramInt1);
- stringBuilder.append("flag=");
- stringBuilder.append(paramInt2);
- ICLogger.i(stringBuilder.toString());
- }
-
- public static boolean hasSimCard(Context context) {
-
- TelephonyManager telMgr = (TelephonyManager)
- context.getSystemService(Context.TELEPHONY_SERVICE);
- int simState = telMgr.getSimState();
- boolean result = true;
- switch (simState) {
- case TelephonyManager.SIM_STATE_ABSENT:
- result = false; // 没有SIM卡
- break;
- case TelephonyManager.SIM_STATE_UNKNOWN:
- result = false;
- break;
- }
-// ICLogger.i( result ? "有SIM卡" : "无SIM卡");
- return result;
- }
-
- public void changeNetWorkType(String paramString) {
- Intent intent = new Intent("android.intent.action.NETWORK_MODE_CTRL");
- intent.putExtra("mode", paramString);
- this.context.sendBroadcast(intent);
- StringBuilder stringBuilder = new StringBuilder();
- stringBuilder.append("changeNetWorkType=");
- stringBuilder.append(paramString);
- ICLogger.i(stringBuilder.toString());
- }
-
- /**
- * 检查用户的网络:是否有网络,所需权限:<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
- */
- public static boolean checkNet(Context context) {
- // 判断:WIFI链接
- boolean isWIFI = isWIFIConnection(context);
- // 判断:Mobile链接
- boolean isMOBILE = isMOBILEConnection(context);
- if (!isWIFI && !isMOBILE) {
- return false;//既不是手机连接,也不是wifi连接
- }
- return true;
- }/**
- * 判断:是否是手机链接
- * @param context
- * @return
- */
- private static boolean isMOBILEConnection(Context context) {
- ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
- //获取连接的信息
- NetworkInfo networkInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
- if (networkInfo != null) {
- return networkInfo.isConnected();
- }
- return false;
- }
-
- /**
- * 判断:WIFI链接
- *
- * @param context
- * @return
- */
- private static boolean isWIFIConnection(Context context) {
- ConnectivityManager manager = (ConnectivityManager) context
- .getSystemService(Context.CONNECTIVITY_SERVICE);
-
- NetworkInfo networkInfo = manager
- .getNetworkInfo(ConnectivityManager.TYPE_WIFI);
- if (networkInfo != null) {
- return networkInfo.isConnected();
- }
- return false;
- }
- public int getNetworkType() {
- init();
- int networktype=IS_UNKNOWN;
- switch (this.mNetworkType){
-
- case NETWORK_TYPE_GPRS: //1
- case NETWORK_TYPE_EDGE: //2
- case NETWORK_TYPE_CDMA://4
- networktype=IS_2G;
- break;
- case NETWORK_TYPE_UMTS://3
- case NETWORK_TYPE_HSDPA://8
- case NETWORK_TYPE_EVDO_0: //5
- case NETWORK_TYPE_EVDO_A: //6
- networktype=IS_3G;
- break;
-
- case NETWORK_TYPE_LTE:
- networktype=IS_4G;
- break;
-
- default:
- networktype=IS_UNKNOWN;
- break;
- }
-
- return networktype;
- }
-
- public void init() {
- this.mNetworkType = ((TelephonyManager)this.context.getSystemService(Context.TELEPHONY_SERVICE)).getNetworkType();
- }
-
-
- public static boolean isScreenON(Context context) {
- // If you use less than API20:
- PowerManager powerManager = (PowerManager) context.getSystemService(POWER_SERVICE);
- // If the screen is off then the device has been locked
-
- boolean lisScreenOn;
+ public static final int IS_2G = 0;
+
+ public static final int IS_3G = 1;
+
+ public static final int IS_4G = 2;
+
+ public static final int IS_UNKNOWN = -1;
+
+ protected static SimSignalUtil simSignalUtil = null;
+
+ Context context;
+
+ int last_WorkType = -1;
+
+ private int mNetworkType;
+
+ int[] netWorkTypeArr = {2, 2, 2, 2, 2};
+
+ private SimSignalUtil(Context paramContext) {
+ this.context = paramContext;
+ init();
+ }
+
+ public synchronized static SimSignalUtil getInstance(Context paramContext) {
+ if (simSignalUtil == null)
+ simSignalUtil = new SimSignalUtil(paramContext);
+ return simSignalUtil;
+ }
+
+ public boolean IsAirModeOn() {
+ return (Settings.System.getInt(this.context.getContentResolver(), "airplane_mode_on", 0) == 1);
+ }
+
+ public void changeNetWorkType(int paramInt1, int paramInt2) {
+ StringBuilder stringBuilder = new StringBuilder();
+ stringBuilder.append("BuildConfig.upLoadData=falsenetworkType=");
+ stringBuilder.append(paramInt1);
+ stringBuilder.append("flag=");
+ stringBuilder.append(paramInt2);
+ ICLogger.i(stringBuilder.toString());
+ }
+
+ public static boolean hasSimCard(Context context) {
+
+ TelephonyManager telMgr = (TelephonyManager)
+ context.getSystemService(Context.TELEPHONY_SERVICE);
+ int simState = telMgr.getSimState();
+ boolean result = true;
+ switch (simState) {
+ case TelephonyManager.SIM_STATE_ABSENT:
+ case TelephonyManager.SIM_STATE_UNKNOWN:
+ result = false; // 没有SIM卡
+ break;
+ }
+ return result;
+ }
+
+ public void changeNetWorkType(String paramString) {
+ Intent intent = new Intent("android.intent.action.NETWORK_MODE_CTRL");
+ intent.putExtra("mode", paramString);
+ this.context.sendBroadcast(intent);
+ StringBuilder stringBuilder = new StringBuilder();
+ stringBuilder.append("changeNetWorkType=");
+ stringBuilder.append(paramString);
+ ICLogger.i(stringBuilder.toString());
+ }
+
+ /**
+ * 检查用户的网络:是否有网络,所需权限:<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
+ */
+ public static boolean checkNet(Context context) {
+ // 判断:WIFI链接
+ boolean isWIFI = isWIFIConnection(context);
+ // 判断:Mobile链接
+ boolean isMOBILE = isMOBILEConnection(context);
+ if (!isWIFI && !isMOBILE) {
+ return false;//既不是手机连接,也不是wifi连接
+ }
+ return true;
+ }
+
+ /**
+ * 判断:是否是手机链接
+ *
+ * @param context
+ * @return
+ */
+ private static boolean isMOBILEConnection(Context context) {
+ ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
+ //获取连接的信息
+ NetworkInfo networkInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
+ if (networkInfo != null) {
+ return networkInfo.isConnected();
+ }
+ return false;
+ }
+
+ /**
+ * 判断:WIFI链接
+ *
+ * @param context
+ * @return
+ */
+ private static boolean isWIFIConnection(Context context) {
+ ConnectivityManager manager = (ConnectivityManager) context
+ .getSystemService(Context.CONNECTIVITY_SERVICE);
+
+ NetworkInfo networkInfo = manager
+ .getNetworkInfo(ConnectivityManager.TYPE_WIFI);
+ if (networkInfo != null) {
+ return networkInfo.isConnected();
+ }
+ return false;
+ }
+
+ public int getNetworkType() {
+ init();
+ int networktype = IS_UNKNOWN;
+ switch (this.mNetworkType) {
+
+ case NETWORK_TYPE_GPRS: //1
+ case NETWORK_TYPE_EDGE: //2
+ case NETWORK_TYPE_CDMA://4
+ networktype = IS_2G;
+ break;
+ case NETWORK_TYPE_UMTS://3
+ case NETWORK_TYPE_HSDPA://8
+ case NETWORK_TYPE_EVDO_0: //5
+ case NETWORK_TYPE_EVDO_A: //6
+ networktype = IS_3G;
+ break;
+
+ case NETWORK_TYPE_LTE:
+ networktype = IS_4G;
+ break;
+
+ default:
+ networktype = IS_UNKNOWN;
+ break;
+ }
+
+ return networktype;
+ }
+
+ public void init() {
+ this.mNetworkType = ((TelephonyManager) this.context.getSystemService(Context.TELEPHONY_SERVICE)).getNetworkType();
+ }
+
+
+ public static boolean isScreenON(Context context) {
+ // If you use less than API20:
+ PowerManager powerManager = (PowerManager) context.getSystemService(POWER_SERVICE);
+ // If the screen is off then the device has been locked
+
+ boolean lisScreenOn;
// if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) {
//
// }
- return lisScreenOn;
- }
- public static void send_at_to_reset_simcard(Runtime runtime){
-
- Intent intent = new Intent("com.eqc.intent.action.getTelephony.lbs");
- intent.putExtra("command", "AT+SFUN=2"); //重新初始化sim卡
- intent.putExtra("arg2", "");
- ( runtime.getContextProxy()).context.sendBroadcast(intent);
- ICLogger.i("send_at_to_reset_simcard ");
- }
-
- public static void send_at_to_update_lbs(Runtime runtime) {
- Intent intent = new Intent("com.eqc.intent.action.getTelephony.lbs");
- intent.putExtra("command", "AT+CREG=2");
- intent.putExtra("arg2", "");
- (runtime.getContextProxy()).context.sendBroadcast(intent);
- ICLogger.i("send_at_to_update_lbs ");
- }
-
- public static void send_at_cmd(Runtime runtime, String cmd){
- Intent intent = new Intent("com.eqc.intent.action.getTelephony.lbs");
- intent.putExtra("command", cmd);
- intent.putExtra("arg2", "");
- ( runtime.getContextProxy()).context.sendBroadcast(intent);
- ICLogger.i("send_at_cmd "+cmd);
- }
- public static void send_at_setImei0(Runtime runtime, String imei){
- send_at_cmd(runtime,"AT+SPIMEI=0,"+imei);
- }
- public static void send_at_setImei1(Runtime runtime, String imei){
- send_at_cmd(runtime,"AT+SPIMEI=1,"+imei);
- }
-
- public static void setAirMode(Context context,String paramString) {
-
- final ContentResolver cr = context.getContentResolver();
-
- ICLogger.i("setAirMode "+paramString);
- if ("OpenAirplane".equals(paramString))
- {
-
- //获取当前飞行模式状态,返回的是String值0,或1.0为关闭飞行,1为开启飞行
- //如果关闭飞行,则打开飞行
-// am broadcast -a android.intent.action.AIRPLANE_MODE --ez state false
- // Settings.System.putString(cr, Settings.System.AIRPLANE_MODE_ON, "1");
- Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
- intent.putExtra("state",true);
- context.sendBroadcast(intent);
+ return lisScreenOn;
+ }
+
+ public static void send_at_to_reset_simcard(Runtime runtime) {
+
+ Intent intent = new Intent("com.eqc.intent.action.getTelephony.lbs");
+ intent.putExtra("command", "AT+SFUN=2"); //重新初始化sim卡
+ intent.putExtra("arg2", "");
+ (runtime.getContextProxy()).context.sendBroadcast(intent);
+ ICLogger.i("send_at_to_reset_simcard ");
+ }
- }else if ("CloseAirplane".equals(paramString)) {
+ public static void send_at_to_update_lbs(Runtime runtime) {
+ Intent intent = new Intent("com.eqc.intent.action.getTelephony.lbs");
+ intent.putExtra("command", "AT+CREG=2");
+ intent.putExtra("arg2", "");
+ (runtime.getContextProxy()).context.sendBroadcast(intent);
+ ICLogger.i("send_at_to_update_lbs ");
+ }
+
+ public static void send_at_cmd(Runtime runtime, String cmd) {
+ Intent intent = new Intent("com.eqc.intent.action.getTelephony.lbs");
+ intent.putExtra("command", cmd);
+ intent.putExtra("arg2", "");
+ (runtime.getContextProxy()).context.sendBroadcast(intent);
+ ICLogger.i("send_at_cmd " + cmd);
+ }
- //获取当前飞行模式状态,返回的是String值0,或1.0为关闭飞行,1为开启飞行
- //如果关闭飞行,则打开飞行
- // Settings.System.putString(cr, Settings.System.AIRPLANE_MODE_ON, "0");
- Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
- intent.putExtra("state",false);
- context.sendBroadcast(intent);
+ public static void send_at_setImei0(Runtime runtime, String imei) {
+ send_at_cmd(runtime, "AT+SPIMEI=0," + imei);
+ }
+ public static void send_at_setImei1(Runtime runtime, String imei) {
+ send_at_cmd(runtime, "AT+SPIMEI=1," + imei);
}
+ public static void setAirMode(Context context, String paramString) {
- }
+ final ContentResolver cr = context.getContentResolver();
+
+ ICLogger.i("setAirMode " + paramString);
+ if ("OpenAirplane".equals(paramString)) {
+
+ //获取当前飞行模式状态,返回的是String值0,或1.0为关闭飞行,1为开启飞行
+ //如果关闭飞行,则打开飞行
+// am broadcast -a android.intent.action.AIRPLANE_MODE --ez state false
+ // Settings.System.putString(cr, Settings.System.AIRPLANE_MODE_ON, "1");
+ Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
+ intent.putExtra("state", true);
+ context.sendBroadcast(intent);
+
+ } else if ("CloseAirplane".equals(paramString)) {
+
+ //获取当前飞行模式状态,返回的是String值0,或1.0为关闭飞行,1为开启飞行
+ //如果关闭飞行,则打开飞行
+ // Settings.System.putString(cr, Settings.System.AIRPLANE_MODE_ON, "0");
+ Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
+ intent.putExtra("state", false);
+ context.sendBroadcast(intent);
+
+ }
+
+
+ }
}