求推广中电脑无法识别安卓设备备唯一性识别方法

经验7500 米
在线时间718 小时
版本3.11.22
积分 9754, 距离下一级还需 10246 积分
积分 9754, 距离下一级还需 10246 积分
机型小米手机2/2S
签到次数22
MIUI版本3.11.22
写在前面,发这个帖我想,可能很多人用不到,那你就当科普了解了,其实每个游戏,软件都会获取你的imei
废话不说,开始!
在开发手机应用时,开发者最关心的是开发的手机软件有多少用户安装,并且正在使用。这就需要识别手机的唯一性。目前我了解的有两种方法,获取手机的imei号(imei号是唯一识别手机的号码)。获取android id号(android id 是手机系统的唯一号码)。
  第一种方法:
  android获取手机imei号的方法在在android系统中获取imei号和其他手机信息一文中做了详细的介绍。其中android在 2.0以上的版本中,获取手机imei号已经不需要相应的读取手机信息的权限了。
  & uses-permission android:name=&android.permission.READ_PHONE_STATE& /&
  但是目前1.6以下的版本用户占用户的近50%,如果想要让1.6以下版本的用户也可以获取imei号,那就要添加权限。
  好处是唯一标识手机,缺点是可能需要相应的用户权限。
String myIMSI = android.os.SystemProperties.get(android.telephony.TelephonyProperties.PROPERTY_IMSI);
String myIMEI = android.os.SystemProperties.get(android.telephony.TelephonyProperties.PROPERTY_IMEI);
  第二种方法:
  可以获取android id号,如果一个手机设备第一次启动随即产生的一个数字,如果系统改变,该号可能会改变。
  android id号解释: /provider/Settings.Secure.html#ANDROID_ID
  获取方法:
  String t=android.provider.Settings.System.getString(getContentResolver(), &android_id&);
  Log.i(&huilurry&,&android_id=&+t);
  Ms测试结果:
  07-13 13:12:49.835: INFO/huilurry(17455): android_id=f20c
  好处是所有版本都试用,缺点是可能会和其他机子重复或本机改变。via: /?p=665
3、获取IMEI是把,telephonypackage的TelephonyManager类的getDeviceId() 方法
获得IMSI / IMEI(SIM和手机的唯一识别ID)
  学习内容: 你将学到如何读出你手机里的SIM卡的IMSI (国际移动用户ID) 和IMEI (国际移动设备ID). IMSI 与 SIM唯一对应, IMEI 与 设备唯一对应.
  可能应用的场合: 你可能需要 唯一的id 去授权/注册,或者用于你的Android-Activity的license目的 下面的两行代码将会使你获得SIM卡唯一 ID IMSI 和设备唯一ID IMEI
  IMSI是一个 唯一的数字, 标识了GSM和UMTS 网络里的唯一一个用户. 它 存储 在手机的SIM卡里,它会通过手机发送到网络上.
  IMEI也是一串唯一的数字, 标识了 GSM 和 UMTS网络里的唯一一个手机. 它通常被打印在手机里电池下面的那一面,拨&&*#06# 也能看到它.
  代码: 这里是你在Android里读出 唯一的 IMSI-ID / IMEI-ID 的方法。
& && && & String myIMSI = android.os.SystemProperties.get(android.telephony.TelephonyProperties.PROPERTY_IMSI);
& && && &String myIMEI = android.os.SystemProperties.get(android.telephony.TelephonyProperties.PROPERTY_IMEI);
分享到微信朋友圈
打开微信,点击底部的“发现”,使用 “扫一扫” 即可将网页分享到我的朋友圈。
天涯何处是归鸿
经验2555 米
在线时间30 小时
版本V8.2.1.0.KHICNDL
积分 2817, 距离下一级还需 2183 积分
积分 2817, 距离下一级还需 2183 积分
机型红米Note 4G版
签到次数110
MIUI版本V8.2.1.0.KHICNDL
经验7500 米
在线时间718 小时
版本3.11.22
积分 9754, 距离下一级还需 10246 积分
积分 9754, 距离下一级还需 10246 积分
机型小米手机2/2S
签到次数22
MIUI版本3.11.22
天涯何处是归鸿
经验1067 米
在线时间29 小时
版本6.10.20
积分 1258, 距离下一级还需 742 积分
积分 1258, 距离下一级还需 742 积分
机型红米Note3
签到次数42
MIUI版本6.10.20
经验1680 米
在线时间13 小时
版本5.10.22
积分 1752, 距离下一级还需 248 积分
积分 1752, 距离下一级还需 248 积分
机型小米手机2/2S
签到次数135
MIUI版本5.10.22
经验7500 米
在线时间718 小时
版本3.11.22
积分 9754, 距离下一级还需 10246 积分
积分 9754, 距离下一级还需 10246 积分
机型小米手机2/2S
签到次数22
MIUI版本3.11.22
天涯何处是归鸿
经验860 米
在线时间21 小时
版本V7.5.9.0.MAACNDE
积分 1081, 距离下一级还需 919 积分
积分 1081, 距离下一级还需 919 积分
机型小米手机5
签到次数20
MIUI版本V7.5.9.0.MAACNDE
经验7500 米
在线时间718 小时
版本3.11.22
积分 9754, 距离下一级还需 10246 积分
积分 9754, 距离下一级还需 10246 积分
机型小米手机2/2S
签到次数22
MIUI版本3.11.22
天涯何处是归鸿
1000万用户纪念勋章
MIUI1000万用户纪念勋章
关注腾讯微博
已关注腾讯微博
关注新浪微博
已关注新浪微博
已关注微信
已关注极客秀微信
发烧友俱乐部
发烧友俱乐部
Copyright (C) 2017 MIUI
京ICP备号 | 京公网安备34号 | 京ICP证110507号随笔- 615&
前段时间项目需要一个功能,就是在操作完某一个逻辑之后返回给客户一个红包,安全校验团队需要我们提供android设备的唯一标示,起初直接通过获取设备的imei号传给了server端,后台公司云迹监控发现,有些设备的imei号是0000,这样失去了设备唯一性验证的功能,第二个版本做了一个修复,除了获取imei号之外还新增了AndrdoiId的处理,不过悲剧的是android 设备实在是太多太杂了,仅仅通过这两个维度去确定设备的唯一性还是有一些漏洞的,最终我们的解决方案是尽量多的获取与设备相关的信息,最后做一个MD5数字加签,基本满足了这个需求[java]&
阅读(...) 评论()获取ANDROID唯一识别码 - 技术分享 - 玩火 - 酷火的技术梦
Author : 酷火 / Category : 所有的设备都可以返回一个TelephonyManager.getDeviceId()所有的GSM设备可以返回一个TelephonyManager.getSimSerialNumber()所有的CDMA 设备对于 getSimSerialNumber() 却返回一个空值!所有添加有谷歌账户的设备可以返回一个 ANDROID_ID所有的CDMA设备对于 ANDROID_ID 和 TelephonyManager.getDeviceId() 返回相同的值(只要在设置时添加了谷歌账户)&&正常情况下,你想得到设备的唯一序号, TelephonyManager.getDeviceId() 就足够了。但会暴露DeviceID,最好把这些id加密。加密后的序号仍然可以唯一的识别该设备,例如,使用 String.hashCode() ,结合UUID:final TelephonyManager tm = (TelephonyManager) getBaseContext().getSystemService(Context.TELEPHONY_SERVICE);final String tmDevice, tmSerial, tmPhone, androidId;tmDevice = && + tm.getDeviceId();tmSerial = && + tm.getSimSerialNumber();androidId = && + android.provider.Settings.Secure.getString(getContentResolver(), android.provider.Settings.Secure.ANDROID_ID);UUID deviceUuid = new UUID(androidId.hashCode(), ((long)tmDevice.hashCode() && 32) | tmSerial.hashCode());String uniqueId = deviceUuid.toString();&最后的deviceID可能是这样的结果: b3-e7c7-bffd97出处: &&&&下一篇:上一篇:}

我要回帖

更多关于 电脑无法识别安卓设备 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信