java 获取imei_Android10 获取IMEI,获取UUID,唯一ID

在Android10及以上版本因隐私限制无法直接获取IMEI,本文介绍了一种通过创建UUID并存储在外部目录的方式来获取设备唯一ID。在Android10以下版本则可以直接获取IMEI,若IMEI获取不到,则采用创建并存储UUID的方式。同时,提供了IMEI的MD5处理以保护用户隐私。
摘要由CSDN通过智能技术生成

Andorid10无法获取IMEI,读写文件也被限制。

获取设备唯一ID逻辑。

如果Android10以上 -> 在设备的外部目录创建UUID,只要用户没有手动删除该文件UUID一直存在。

如果Android10以下,获取设备IMEI

如果没有获取到IMEI -> 在设备外部目录创建UUIID

如果考虑IMEI是私密信息,可以对IMEI做MD5再返回。

import android.annotation.SuppressLint;

import android.content.ContentResolver;

import android.content.ContentUris;

import android.content.ContentValues;

import android.content.Context;

import android.content.SharedPreferences;

import android.database.Cursor;

import android.net.Uri;

import android.os.Build;

import android.os.Environment;

import android.provider.MediaStore;

import android.telephony.TelephonyManager;

import android.text.TextUtils;

import android.util.Log;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.OutputStream;

import java.util.UUID;

/**

* create by Huanmie on 2019-11-26 11:51

*/

public final class DeviceIdUtils {

private static final String TAG = DeviceIdUtils.class.getSimpleName();

private static final String TEMP_DIR = "system_config";

private static final String TEMP_FILE_NAME = "system_file";

private static final String TEMP_FILE_NAME_MIME_TYPE = "application

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值