获取手机设备id

原创 2016年08月30日 14:10:20
public class DeviceUtil {
    private static final String LOGTAG = DeviceUtil.class.getSimpleName();
    private static TelephonyManager telMgr;
    private static WifiManager wifiMgr;

    public static String getDeviceId(Context context) {

        initManager(context);
        if (telMgr != null) {
            String str5 = telMgr.getDeviceId();
            LogcatUtils.i("INFO1", "deviceId:" + str5);
            LogcatUtils.i("INFO1", "deviceIdMD5:" + str5);
            if (isInvalid(str5))
                return str5;
        }
        if (wifiMgr != null) {
            WifiInfo localWifiInfo = wifiMgr.getConnectionInfo();

            if (localWifiInfo != null) {
                String str4 = localWifiInfo.getMacAddress();
                LogcatUtils.i("INFO1", "str4:" + str4);
                if (isInvalid(str4))
                    return "MAC:" + str4;
            }
        }
        String str2 = telMgr.getSimSerialNumber();
        if (isInvalid(str2)) {
            String str3 = "SIMSN:" + str2;
            LogcatUtils.i("INFO1", "SIMSN:" + str3);
            return str3;
        }
        return null;
    }

    private static void initManager(Context paramContext) {
        if (wifiMgr == null) {
            Object localObject2 = paramContext.getSystemService(Context.WIFI_SERVICE);
            if (localObject2 != null)
                wifiMgr = (WifiManager) localObject2;
        }
        if (telMgr == null) {
            Object localObject1 = paramContext.getSystemService(Context.TELEPHONY_SERVICE);
            if (localObject1 != null)
                telMgr = (TelephonyManager) localObject1;
        }
    }

    private static boolean isInvalid(String paramString) {
        boolean isInvalid = false;
        if ((paramString != null) && !(paramString.trim().equals(""))) {
            isInvalid = true;
        }
        return isInvalid;
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

Android 获取设备唯一ID

只能在安卓手机上,需要支持Sim芯片,需要在AndroidManifest.xml中加入一个许可:android.permission.READ_PHONE_STATE,并且用户应当允许安装此应用。作...
  • bobbob32
  • bobbob32
  • 2017年06月12日 14:03
  • 2097

Android多种方法获取唯一设备id

一个获取唯一设备id工具类,可直接拿去用,建议使用getPesudoUniqueID()方法,不需申请任何权限; public class AppUtils {     private Con...
  • wr_848174973
  • wr_848174973
  • 2017年04月21日 17:07
  • 1730

Android获取设备唯一ID

Android的开发者在一些特定情况下都需要知道手机中的唯一设备ID。例如,跟踪应用程序的安装,生成用于复制保护的DRM时需要使用设备的唯一ID。在本文档结尾处提供了作为参考的示例代码片段。 范...
  • boonya
  • boonya
  • 2014年09月19日 12:04
  • 21010

Android获取设备唯一ID的几种方式

转至http://blog.csdn.net/u014651216/article/details/50767326  IMEI 方式:TelephonyManager.get...
  • w371500241
  • w371500241
  • 2017年04月12日 09:16
  • 2363

Android_获取手机设备信息device_id

执行:getDeviceInfo(Context context) 方法,返回结果就是设备信息 /** * 获取设备的信息 * @param context * @p...
  • u013035016
  • u013035016
  • 2016年10月25日 20:01
  • 1614

获取设备唯一ID的几种方式

博客摘要:很简单,就是获取手机的A
  • xushuaic
  • xushuaic
  • 2014年05月05日 23:19
  • 21734

Android设备唯一标识符ID

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和...
  • u012308094
  • u012308094
  • 2016年04月11日 14:01
  • 3190

Unity3d获取IOS设备唯一标识,以及IDFA

之前苹果设备上获取唯一标识符,可以通过获取Mac地址。但是现在苹果把这条路堵死了。 不过没关系,苹果已经给出了替代方案,可以调用相应的接口,生成一串字符串,用生成的 字符串来代替之前的Mac地址。...
  • Pig_3800
  • Pig_3800
  • 2015年09月02日 18:57
  • 5749

Android获取设备唯一ID的几种方式

先来看看几种比较单一的方式:  IMEI 方式:TelephonyManager.getDeviceId(): 问题 范围:只能支持拥有通话功能...
  • u014651216
  • u014651216
  • 2016年02月29日 18:17
  • 22473

如何获取 iOS 设备的唯一 ID

如何获取 iOS 设备的唯一 IDCFUUID 每次调用 CFUUIDCreate 系统都会返回一个全新的唯一 ID. 如果想永久保存这个 ID,需要自己处理,可以一次获取后,存在 NSUserDe...
  • reylen
  • reylen
  • 2016年09月30日 09:09
  • 1217
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:获取手机设备id
举报原因:
原因补充:

(最多只允许输入30个字)