如何在Android中获得独特的设备硬件ID?
如何获取Android中唯一的设备ID,在执行手机重置或操作系统更新时无法更改?
你在下面的链接中查看这个博客
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);
以上是从链接@ 有没有一个独特的Android设备ID?
更具体地说,Settings.Secure.ANDROID_ID。 这是设备第一次启动时生成并存储的64位数量。 当设备被擦拭时,它被重置 。
ANDROID_ID似乎是唯一设备标识符的不错select 。 有缺点:首先,它在2.2之前的Android版本(“Froyo”)上不是100%可靠的。 此外,在一个主要制造商的stream行手机中至less有一个广泛观察到的错误,其中每个实例具有相同的ANDROID_ID。
下面的解决scheme并不是一个好的方法,因为这个价值可以让设备擦拭(“工厂重置”)成为可能,因此当您的客户擦拭设备并将其传递给另一个人时,您可能会犯下一个糟糕的错误 。
您可以使用以下方式获取设备的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,而对传统设备进行一些回退启发式
。
我们可以通过使用String id = android.os.Build.ID;
轻松获取设备ID String id = android.os.Build.ID;