package com.todayinfo.utils;
import java.io.File;
import java.io.FileFilter;
import java.util.regex.Pattern;
import android.app.Activity;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.util.DisplayMetrics;
/**
* 手机本身的一些操作,包括:是否连接网络,屏幕分辨率等;
*
* @author zhou.ni 2015年4月25日
*/
public class AppUtil {
/** 是否开启debug模式 */
public static boolean debug = true;
/**
* 设置是否开启debug模式
* */
public static void setDebug(boolean debug){
AppUtil.debug = debug;
}
/**
* 判断网络是否已经连接
* @param context 上下文
* @return true 已经连接网络, false 网络连接失效
* */
public static boolean isNetworkAvailable(Context context){
try{
ConnectivityManager cm = (ConnectivityManager)
context.getSystemService(Context.CONNECTIVITY_SERVICE);
if(cm != null){
NetworkInfo ni = cm.getActiveNetworkInfo();
if(ni!=null && ni.isConnected()){
if(ni.getState() == NetworkInfo.State.CONNECTED){
return true;
}
}
}
} catch (Exception e){
return false;
}
return false;
}
/**
* 判断当前网络是否是WIFI
* */
public static boolean isWIFI(Context context){
try{
ConnectivityManager cm = (ConnectivityManager)
context.getSystemService(Context.CONNECTIVITY_SERVICE);
if(cm != null){
NetworkInfo ni = cm.getActiveNetworkInfo();
if(ni!=null && ni.getType() == ConnectivityManager.TYPE_WIFI){
return true;
}
}
} catch (Exception e){
return false;
}
return false;
}
/**
* 判断当前网络是否是GPRS
* */
public static boolean is3G(Context context){
try{
ConnectivityManager cm =
(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if(cm != null){
NetworkInfo ni = cm.getActiveNetworkInfo();
if(ni!=null && ni.getType() == ConnectivityManager.TYPE_MOBILE){
return true;
}
}
} catch (Exception e){
}
return false;
}
/**
* 获取手机分辨率--W
* */
public static int getPhoneHW(Context context){
DisplayMetrics dm = new DisplayMetrics();
((Activity)context).getWindowManager().getDefaultDisplay().getMetrics(dm);
int disW = dm.widthPixels;
return disW;
}
/**
* 获取手机分辨率--H
* */
public static int getPhoneWH(Context context){
DisplayMetrics dm = new DisplayMetrics();
((Activity)context).getWindowManager().getDefaultDisplay().getMetrics(dm);
int disH = dm.heightPixels;
return disH;
}
/**
* 获取CPU数量
* */
public static int cpuNums(){
int nums = 1;
try{
File file = new File("/sys/devices/system/cpu/");
File[] files = file.listFiles(new FileFilter() {
@Override
public boolean accept(File arg0) {
if(Pattern.matches("cpu[0-9]", arg0.getName())){
return true;
}
return false;
}
});
nums = files.length;
} catch (Exception e){
e.printStackTrace();
}
return nums;
}
/**
* 获取当前sdk版本
* @return
*/
public static int getAndroidSDKVersion() {
int version = 0;
try {
version = Integer.valueOf(android.os.Build.VERSION.SDK_INT);
} catch (NumberFormatException e) {
e.printStackTrace();
} catch (Exception e){
e.printStackTrace();
}
return version;
}
}