package com.adblog.control;
import java.math.BigInteger;
import java.security.MessageDigest;
import com.adblog.util.DisplayManager;
import com.adblog.util.NetworkManager;
import android.content.Context;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.provider.Settings;
import android.telephony.TelephonyManager;
public class Util {
/**
* 日志过滤 信息
*/
public static final String TAG="Androidesk";
public static final String PACKAGE="com.androidesk";
public static final String server1="域名1";
public static final String server2="域名2";
public static final String server3="域名3";
public static final String server4="域名4";
public static String IP = "";
public static StringBuffer resolve_domain;
private static String getLocalIpAddress(Context context) {
try {
WifiManager wifiManager = (WifiManager) context
.getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int ipInt = wifiInfo.getIpAddress();
StringBuilder sb = new StringBuilder();
sb.append(ipInt & 0xFF).append(".");
sb.append((ipInt >> 8) & 0xFF).append(".");
sb.append((ipInt >> 16) & 0xFF).append(".");
sb.append((ipInt >> 24) & 0xFF);
return sb.toString();
} catch (Exception ex) {
}
return "UNKONWN";
}
public static String getIp(Context context) {
String localIp = IP;
if (IP == null || IP.equals("")) {
localIp = getLocalIpAddress(context);
}
return localIp;
}
public static String getTitle() {
return (android.os.Build.BRAND+" "+android.os.Build.DEVICE);
}
public static String getDevicesInfo(Context context) {
DisplayManager dm = DisplayManager.getInstance();
StringBuffer buffer = new StringBuffer();
buffer.append("\nBRAND: " + android.os.Build.BRAND);
buffer.append("\nDEVICE: " + android.os.Build.DEVICE);
buffer.append("\nSDK: " + android.os.Build.VERSION.SDK);
buffer.append("\n分辨率" + dm.getDisplayWidth(context) + "*"
+ dm.getDisplayHeight(context) + " 壁纸分辨率"
+ dm.getWallpaperWidth(context) + "*"
+ dm.getWallpaperHeight(context));
buffer.append("\n网络类型: "+NetworkManager.getInstance().getNetworkType(context));
TelephonyManager tManager = (TelephonyManager) context
.getSystemService(Context.TELEPHONY_SERVICE);
String deviceId = "";
String androidid = null;
try {
deviceId = getUniqueID(context);
androidid = Settings.Secure.getString(context.getContentResolver(),
Settings.Secure.ANDROID_ID);
} catch (Exception e) {
// TODO: handle exception
}
buffer.append("\nDeviceId: " + getUniqueID(context));
WifiManager wm = (WifiManager) context
.getSystemService(Context.WIFI_SERVICE);
String MAC = wm.getConnectionInfo().getMacAddress();
buffer.append("\n IP: "+IP);
buffer.append("\n\n\n 域名解析************************************* "+resolve_domain+"\n\n");
return buffer.toString();
}
public static String getUniqueID(Context ctx) {
TelephonyManager tm = (TelephonyManager) ctx
.getSystemService(Context.TELEPHONY_SERVICE);
String device_id = "";
try {
device_id = tm.getDeviceId();
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
if (device_id == null) {
try {
WifiManager wifi = (WifiManager) ctx
.getSystemService(Context.WIFI_SERVICE);
WifiInfo info = wifi.getConnectionInfo();
device_id = digest(info.getMacAddress());
} catch (Exception e) {
device_id = "";
}
}
return device_id;
}
/**
* MD5
*
* @param input
* @return
*/
private static String digest(String input) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
return new BigInteger(1, md.digest(input.getBytes())).toString(16)
.toUpperCase();
} catch (Exception e) {
return "";
}
}
}