安卓开发获取安卓设备信息工具类
以下是一个获取安卓设备信息的工具类: ``` import android.content.Context; import android.os.Build; import android.provider.Settings; import android.telephony.TelephonyManager; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.UUID; public class DeviceInfoUtils { /** * 获取设备唯一标识符 * @return */ public static String getDeviceUniqueId(Context context) { String uniqueId = null; TelephonyManager telephonyManager = null; try { telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); uniqueId = telephonyManager.getDeviceId(); } catch (Exception e) { e.printStackTrace(); } if (uniqueId == null) { uniqueId = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID); } if (uniqueId == null) { uniqueId = UUID.randomUUID().toString(); } MessageDigest sha; try { sha = MessageDigest.getInstance("SHA-1"); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); return uniqueId; } byte[] hash = sha.digest(uniqueId.getBytes()); StringBuilder sb = new StringBuilder(); for (byte b : hash) { sb.append(Integer.toHexString(b)); } return sb.toString(); } /** * 获取设备名称 * @return */ public static String getDeviceName() { return Build.MODEL; } /** * 获取设备系统版本 * @return */ public static String getDeviceOsVersion() { return Build.VERSION.RELEASE; } } ``` 在使用调用该工具类获取设备信息,例如: ``` String uniqueId = DeviceInfoUtils.getDeviceUniqueId(context); String deviceName = DeviceInfoUtils.getDeviceName(); String deviceOsVersion = DeviceInfoUtils.getDeviceOsVersion(); ``` 请注意,不同的设备可能会返回不同的设备标识符,这个标识符也可能会随设备的恢复出厂设置而变化。因此,获取设备唯一标识符时需要谨慎处理。