如何在Android中获得独特的设备硬件ID?

这个问题在这里已经有了答案:

  • 是否有唯一的Android设备ID? 40个答案

  • 您在下面的链接中查看此博客

    http://android-developers.blogspot.in/2011/03/identifying-app-installations.html

    ANDROID_ID

    import android.provider.Settings.Secure;
    
    private String android_id = Secure.getString(getContext().getContentResolver(),
                                                        Secure.ANDROID_ID); 
    

    以上是来自link @是否有唯一的Android设备ID?

    更具体地说,Settings.Secure.ANDROID_ID。 这是设备第一次引导时生成并存储的64位数量。 设备被擦拭时会重置

    ANDROID_ID似乎是唯一设备标识符的不错选择 。 有缺点:首先,它在2.2之前的Android版本(“Froyo”)上不是100%可靠的。 此外,主流制造商的流行手机中至少有一个广泛观察到的错误,其中每个实例具有相同的ANDROID_ID。

    下面的解决方案不是一个好的方法,因为设备擦拭的价值仍然存在(“工厂重置”),因此当您的客户擦拭设备并将其传递给另一个人时,您可能会犯下一个令人讨厌的错误

    使用以下方法获取设备的imei号码

      TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
      telephonyManager.getDeviceId();
    

    http://developer.android.com/reference/android/telephony/TelephonyManager.html#getDeviceId%28%29

    添加这个是清单

    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    

    我使用以下代码来获取Android ID。

    String android_id = Secure.getString(this.getContentResolver(),
                Secure.ANDROID_ID);
    
    Log.d("Android","Android ID : "+android_id);
    

    在这里输入图像描述


    请阅读Google开发者博客上的官方博客文章:http://android-developers.blogspot.be/2011/03/identifying-app-installations.html

    结论对于绝大多数应用程序,要求是识别特定的安装,而不是物理设备。 幸运的是,这样做很简单。

    避免识别特定设备的尝试有很多很好的理由。 对于那些想要尝试的人来说,最好的方法可能是在任何合理现代的情况下使用ANDROID_ID,并为传统设备提供一些回退启发式

    链接地址: http://www.djcxy.com/p/24631.html

    上一篇: How to get unique device hardware id in Android?

    下一篇: ways to make paid apps?