我们使用下面的代码来获得唯一的ID:
String id = Settings.Secure.getString(mContext.getContentResolver(),
Settings.Secure.ANDROID_ID);
在Android更改指南中,我们可以看到以下几点:
Android对该平台进行了以下与隐私相关的更改。
The platform now handles identifiers differently.
Values of ANDROID_ID are now scoped per-app instead of per-user.
我使用的后端apis获取唯一的设备标识符并生成响应。在客户端,我为这个唯一的标识符生成UUID,因为Apple不允许获取IMEI。我存储UUID ( api存储),并在每次进行UserDefaults调用时获取它。现在,我的问题是,如果用户清除应用程序数据,则存储的UUID将被清除,并必须生成新的id。但是,有了这个新id,用户请求就变得无效了。如何解决这个问题?对于单个设备,是否有某种id保持不变(比如android中的device id )?
我在我的Android应用程序中实现许可,有一个20字节的数组需要传递给传递给ServerManagedPolicy对象的AESObfuscator。这个数组可以在每次运行代码时随机生成吗,还是必须硬编码?
现在,我像这样随机生成盐:
private static final byte[] SALT;
static {
Random random = new Random();
random.setSeed(System.currentTimeMillis());
byte[] buf = new byte[20];
random.nextBytes(buf)