欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Android获取系统唯一识别码,android获取识别,特殊应用需要白名单机器才

来源: javaer 分享于  点击 44552 次 点评:95

Android获取系统唯一识别码,android获取识别,特殊应用需要白名单机器才


特殊应用需要白名单机器才能访问

官方链接:Android Identifying App Installations

需要在Manifest中申请android.permission.READ_PHONE_STATE

public class helper {    private static String TAG="util.helper";    private static String SYS_ID = null;    public static String getUniqDeviceId(Context context) {        String id = getUniqueID(context);        if (id == null)            id = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);        return id;    }    public static String getStringIntegerHexBlocks(int value) {        String result = "";        String string = Integer.toHexString(value);        int remain = 8 - string.length();        char[] chars = new char[remain];        Arrays.fill(chars, '0');        string = new String(chars) + string;        int count = 0;        for (int i = string.length() - 1; i >= 0; i--) {            count++;            result = string.substring(i, i + 1) + result;            if (count == 4) {                result = "-" + result;                count = 0;            }        }        if (result.startsWith("-")) {            result = result.substring(1, result.length());        }        return result;    }    private static String getUniqueID(Context context) {        if ( SYS_ID != null ) {            return SYS_ID;        }        String telephonyDeviceId;        String androidDeviceId;        String error = "0000-0000-0000-0000";        // get telephony id        try {            final TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);            telephonyDeviceId = tm.getDeviceId();            if (telephonyDeviceId == null) {                Log.e(TAG, "Get TelephonyManager DeviceId(IMEI) Error");                return error;            }            Log.e(TAG, "TelephonyManager getDeviceId: " + telephonyDeviceId);        } catch (Exception e) {            Log.e(TAG, "Get TelephonyManager DeviceId(IMEI) Error" + e.getMessage());            return error;        }        // get internal android device id        try {            androidDeviceId = android.provider.Settings.Secure.getString(context.getContentResolver(),                    android.provider.Settings.Secure.ANDROID_ID);            if (androidDeviceId == null) {                Log.e(TAG, "Get androidDeviceId Error");                return error;            }            Log.e(TAG, "android.provider.Settings.Secure.ANDROID_ID : " + androidDeviceId );        } catch (Exception e) {            Log.e(TAG, "Get androidDeviceId Error"+e.getMessage());            return error;        }        // build up the uuid        try {            String id = getStringIntegerHexBlocks(androidDeviceId.hashCode())                    + "-"                    + getStringIntegerHexBlocks(telephonyDeviceId.hashCode());            SYS_ID = id;            Log.e(TAG, SYS_ID);            return SYS_ID;        } catch (Exception e) {            return error;        }    }}

来自:http://blog.suchasplus.com/2015/02/android-get-imei-and-ANDROID-ID.html

相关栏目:

用户点评