获取设备信息
public class Check {
private Context mContext;
/** android系统定制商 */
private String brand = Build.BRAND;
/** 手机型号 */
private String model = Build.MODEL;
/** cpu指令集 */
private String cpuAbi = Build.CPU_ABI;
/** 硬件制造商 */
private String manufacturer = Build.MANUFACTURER;
/** Android版本 */
private String release = Build.VERSION.RELEASE;
/** sdk版本号 */
private String sdkInt = String.valueOf(Build.VERSION.SDK_INT);
/** versionCode */
private String versionCode = String.valueOf(BuildConfig.VERSION_CODE);
/** versionName */
private String versionName = BuildConfig.VERSION_NAME;
/** 补丁id */
private String clientPatchVersionNo = "123";
/** 渠道号 */
private String mChannelID = "";
public interface CallBackInterface {
void callBack(String str);
}
private CallBackInterface mCallBackInterface;
/**
* 检查是否有补丁
*
* @param context
* @param callBack
*/
public Check(Context context, CallBackInterface callBack) {
mContext = context;
mCallBackInterface = callBack;
}
/** 设置渠道号 */
public void setChannelID(String channelID) {
mChannelID = channelID;
}
public void startCheck() {
String result = "手机品牌(BRAND): " + brand + "\n"
+ "手机型号(MODEL): " + model + "\n"
+ "cpu指令集(CPU_ABI): " + cpuAbi + "\n"
+ "硬件制造商(MANUFACTURER): " + manufacturer + "\n"
+ "wifi的mac地址(WIFIMAC): " + getMacAddress() + "\n"
+ "设备IMEI(IMEI): " + getIMEI() + "\n"
+ "===================================\n"
+ "Android版本(androidversion): " + release + "\n"
+ "sdk版本号(androidSDK): " + sdkInt + "\n"
+ "可用存储控件(availableMemory): " + getAvailableMemorySize() + "MB\n"
+ "yunOS(yunos): " + isYunOS() + "\n"
+ "versionCode(versionCode): " + versionCode + "\n"
+ "versionName(versionName): " + versionName + "\n"
+ "当前补丁id(mFixID): " + clientPatchVersionNo + "\n"
+ "渠道号(channelID): " + mChannelID + "\n";
mCallBackInterface.callBack(result);
}
/** 获取手机内部剩余存储空间 */
private long getAvailableMemorySize() {
File path = Environment.getDataDirectory();
StatFs stat = new StatFs(path.getPath());
long blockSize = stat.getBlockSize();
long availableBlocks = stat.getAvailableBlocks();
return availableBlocks * blockSize / 1024 / 1024;
}
/** 获取wifi的mac地址 */
private String getMacAddress() {
WifiManager wifiManager = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE);
return wifiManager.getConnectionInfo().getMacAddress();
}
/** 获取设备IMEI地址 */
private String getIMEI() {
TelephonyManager telephonyManager = (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
return telephonyManager.getDeviceId();
}
/** 判断是否是yunOS */
private boolean isYunOS() {
String version = null;
String vmName = null;
try {
Method m = Class.forName("android.os.SystemProperties").getMethod("get", new Class[]{String.class});
version = (String) m.invoke((Object) null, new Object[]{"ro.yunos.version"});
vmName = (String) m.invoke((Object) null, new Object[]{"java.vm.name"});
} catch (Exception e) {
e.printStackTrace();
}
return vmName != null && vmName.toLowerCase().contains("lemur") || version != null && version.trim().length() > 0;
}
}