所以,我觉得我很聪明,使用各种各样的哈希和安卓安全唯一ID的排列来识别我的用户……
但事实证明,9774D56D682E549C是由
Secure.getString(getContentResolver(), Secure.ANDROID_ID);
对于很多设备…似乎我构建的每个模拟器都有相同的ID,还有许多其他人的手机(很多Moto机器人!)而flashed操作系统mods倾向于返回相同的重复值。非Motodroid/非闪存手机似乎都给了我一根独特的线。但这个在我的数据库里有60次!
我将优化我的应用程序,在注册前检查该字符串,但建议使用什么方法来处理它以获得另一个唯一值?
我目前的想法是检查它,生成一个非常大的随机值,散列它,然后将其存储在
SharedPreferences
中,然后使用Android_ID或存储在sharedPrefs中的ID(如果用户电话给出值)。任何人都有更好的想法,或者这看起来足够可靠来缓解这个疯狂的错误? 最佳答案
看看这篇文章。您不能依赖ANDROID_ID
。
最好的解决方案是生成一个自定义ID:
String id = UUID.randomUUID().toString();