我想识别用户的设备以发送推送通知。以前我一直在使用IMEI,但IMEI需要一些额外的权限,平板电脑也没有IMEI。
所以我考虑更新id系统,并看到Google本身建议使用InstanceID。
这似乎是一个很好的方法,但有两个警告:
他们提出的另一个解决方案是使用UUID,但这个数字究竟有多独特?我是否必须使用这种方法准备碰撞?
答案 0 :(得分:0)
您可以使用Android框架提供的android id。这是在设置设备时生成的。这不需要任何额外的权限。
Settings.Secure.getString(getBaseContext().getContentResolver(),
Settings.Secure.ANDROID_ID);
编辑:
在某些情况下(工厂重置),这将改变。对于那些你可以使用的情况:这是用于
final String deviceId = ((TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE)).getDeviceId();
if (deviceId != null) {
return deviceId;
} else {
return android.os.Build.SERIAL;
}