• 来自:...如果我们想唯一识别一台Android设备,就需要获取设备的唯一识别码。怎么获取呢? 下面是An

    来自:http://syawlaus.com/remindme-%E5%A6%82%E4%BD%95%E8%8E%B7%E5%8F%96android%E8%AE%BE%E5%A4%87%E5%94%AF%E4%B8%80%E8%AF%86%E5%88%AB%E7%A0%81%EF%BC%9F/

    如果我们想唯一识别一台Android设备,就需要获取设备的唯一识别码。怎么获取呢?

    下面是Android设备一些可供选择的唯一识别码及其适用范围:

    IMEI (International Mobile Equipment Identity Number,国际移动设备识别码)

    • 用于在手机网络中识别每一部独立的手机
    • 对于不在手机网络的设备(如Android平板),就不能使用IMEI来识别。

    IMSI (International Mobile Subscriber Identity,国际移动用户识别码)

    • 它是在公众陆地移动电话网(PLMN)中用于唯一识别移动用户的一个号码,在GSM网络,这个号码通常被存放在SIM卡中
    • 跟IMEI一样,对于不在手机网络的设备就不能使用IMSI来识别。

    Android ID

    • 64位的十六进制字符串,设备首次启动时会随时生成
    • 如果设备恢复了出厂设置,这个值可能会改变
    • 设备root了之后,这个值可以手动修改
    • Android 2.2发现bug,部分设备具有相同Android ID(9774d56d682e549c),模拟器的Android ID也是这个
    • 这个值有时会为null
    • 一般不推荐使用

    Device ID

    • 唯一的设备ID,如GSM网络的IMEI,CDMA网络的MEID / ESN,可能返回null(API文档的描述)
    • 只对手机设备有效,对于不在手机网络的设备,会返回null
    • 获取到的Device ID值,即使设备恢复出厂设置也不会改变
    • 需要READ_PHONE_STATE权限
    • 某些设备的Device ID实现有bug,会返回0或*

    Serial Number

    WiFi MAC  Address

    • 不是所有Android设备都有WiFi
    • 对于有WiFi的设备,如果WiFi没有开启,可能获取不了WiFi MAC地址
    • 需要ACCESS_WIFI_STATE权限

    BlueTooth MAC Address

    • 如果没有开启BlueTooth,可能获取不了BlueTooth MAC地址
    • 需要BLUETOOTH权限

    UUID(Universally unique identifier,通用唯一标识符)

    展开全文
  • 如何获取一个能唯一标识每台Android设备的序号? 这个问题有很多答案,但是他们中的大部分只在某些情况下有效。 根据测试: 所有的设备都可以返回一个 TelephonyManager.getDeviceId() 所有的GSM设备 (测试设备...
  • 2、所有的GSM设备 (测试设备都装载有SIM卡) 可以返回一个TelephonyManager.getSimSerialNumber() 3、所有的CDMA 设备对于 getSimSerialNumber() 却返回一个空值! 4、所有添加有谷歌账户的设备可以返回一个...
  • 这是刚刚实习用到设备识别码的时候带我的大哥给的,留下来以备不时之需。  import android.Manifest; import android.content.Context; import android.content.pm.PackageManager; import android.support.v4....
  • 最近看了下获取手机设备ID和手机信息以及SIM的信息例子,主要还是借鉴别人的,现在自己写一下,算是巩固加深了,也希望能给大家一个参考 必要的条件还是一部真机,SIM卡或者UIM卡。 首先,在AndroidMainfest....
  • 虽然Android系统中提供了这样设备识别码,但是由于Android系统版本、厂商定制系统中的Bug等限制,稳定性和唯一性并不理想。而通过其他硬件信息标识也因为系统版本、手机硬件等限制存在不同程度的问题。 下面收集了...
  • Android系统以及设备都有很多的“标识”号,比如常见的IMEI,SerizalNumber,UUID等概念,但是这些都存在一定程度上的不可靠性,到底如何标记一台Android设备? DEVICE_ID 假设我们确实需要用到真实设备的标识...
  • 在某些项目中,需要记录用户的某些设置,或行为,并上传到服务器,如果无需用户登录注册,就可记录独立这些内容,就需要用到设备的某些独立的序列。(以下部分android需要API8以以上,android2.3测试成功)  ...
  • 因为需要在项目中需要获得一个稳定、可靠的设备唯一识别码,因此搜了一些网上的资料。今天我们将介绍几种方式。  1. DEVICE_ID  假设我们确实需要用到真实设备的标识,可能就需要用到DEVICE_ID。在以前,我们的...
  • 话不多说,先贴代码/**获取设备唯一标识
 * @param context 上下文
 * @return 设备唯一标识
 */
 public static String getUDID(Context context) {
 String udid = AppConfig.getUDID(context, null)...
  • Android系统为开发者提供的用于标识手机设备的串号,也是各种方法中普适性较高的,可以说几乎所有的设备都可以返回这个串号,并且唯一性良好。 这个DEVICE_ID可以同通过下面的方法获取: TelephonyManager tm = ...
  • //如果获取不到imsi号,就拼接其它信息获取唯一: 结论是,依然有部分手机获取不到。 final TelephonyManager tm = (TelephonyManager) getBaseContext().getSystemService(Context.TELEPHONY_SERVICE);  ...
  • 按照正常的获取Android 8.0 之前都是可以拿到我们的Imei的,就是广为流传的那些形式,我就意义赘述了,到了Android 9.0 之后就出现了部分手机厂商的机型获取不到我们的IMEI,例如 '‘一加’'等厂商,而且其他厂商的...
  • 这个问题来自于http://stackoverflow.com/questions/2785485/is-there-a-unique-android-device-id/2853253#2853253 ...Android设备有没有唯一的id?如果有的话,我怎么通过java代码获得这个id? ...
  • Android 获取设备唯一UUID 2018-06-28 17:48:00
    Android 获取设备唯一UUID的一种实现方式 import android.content.Context; import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.os.Build; import android.os....
  • android获取手机唯一识别
  • 方法一:不需要权限(推荐)使用一些不需要权限的硬件设备码来生成Android设备的唯一识别码//获得独一无二的Psuedo ID public static String getUniquePsuedoID() { String serial = null; String m_szDevIDShort...
  • http://www.cnblogs.com/lqminn/p/4204855.html1. DEVICE_ID假设我们确实需要用到真实设备的标识,可能就需要用到DEVICE_ID。它根据不同的手机设备返回IMEI,MEID或者ESN,但它在使用的过程中会遇到很
1 2 3 4 5 ... 20
收藏数 14,264
精华内容 5,705