android 获取deviceid 的工具类
时间: 2023-08-30 11:06:07 浏览: 114
以下是一个获取 Android 设备唯一标识符(device id)的工具类示例,供您参考:
```java
import android.content.Context;
import android.os.Build;
import android.telephony.TelephonyManager;
import androidx.annotation.RequiresPermission;
public class DeviceUtils {
/**
* 获取设备唯一标识符(device id)
*
* @param context 上下文对象
* @return 设备唯一标识符
*/
@RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public static String getDeviceId(Context context) {
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
if (telephonyManager != null) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
// Android 10 及以上系统需要使用 getImei() 方法获取设备标识符
return telephonyManager.getImei();
} else {
// Android 10 以下系统可以使用 getDeviceId() 方法获取设备标识符
return telephonyManager.getDeviceId();
}
}
return null;
}
}
```
需要注意的是,在 Android 10 及以上系统中,使用 `getDeviceId()` 方法获取设备标识符会返回空值或者随机值,因此需要使用 `getImei()` 方法获取设备标识符。另外,获取设备标识符需要声明 `android.permission.READ_PHONE_STATE` 权限。
阅读全文