获取设备信息

获取设备信息

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;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值