电话唯一标识符差异

发布于 2024-10-29 07:23:16 字数 635 浏览 3 评论 0原文

不久前,我正在寻找一种方法来唯一标识我的应用程序正在其上运行的设备。我发现了以下算法:

final TelephonyManager tm = (TelephonyManager) baseContext.getSystemService(Context.TELEPHONY_SERVICE);

final String tmDevice = "" + tm.getDeviceId();
final String tmSerial = "" + tm.getSimSerialNumber();
final String androidId = "" + android.provider.Settings.Secure.getString(baseContext.getContentResolver(), android.provider.Settings.Secure.ANDROID_ID);

UUID deviceUuid = new UUID(androidId.hashCode(), ((long)tmDevice.hashCode() << 32) | tmSerial.hashCode());
return deviceUuid.toString();

任何人都可以向我解释为什么这偶尔会在同一设备上给我不同的结果,以及我可以采取什么措施来纠正它?

A while ago I was looking for a way to uniquely identify a device my application was running on. I found the following algorithm:

final TelephonyManager tm = (TelephonyManager) baseContext.getSystemService(Context.TELEPHONY_SERVICE);

final String tmDevice = "" + tm.getDeviceId();
final String tmSerial = "" + tm.getSimSerialNumber();
final String androidId = "" + android.provider.Settings.Secure.getString(baseContext.getContentResolver(), android.provider.Settings.Secure.ANDROID_ID);

UUID deviceUuid = new UUID(androidId.hashCode(), ((long)tmDevice.hashCode() << 32) | tmSerial.hashCode());
return deviceUuid.toString();

Can anyone explain to me why this would occasionally be giving me differing results on the same device, and what I can do to correct it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不喜欢何必死缠烂打 2024-11-05 07:23:16

我预计问题与 getSimSerialNumber() 有关,因为它获取一张特定 SIM 卡的序列号,因此如果手机所有者更改 SIM 卡(例如通过移动网络),该方法将返回不同的 ID。 SIM 卡是唯一的,但每个设备可能在不同时间使用不同的 SIM 卡。

I expect the problem relates to getSimSerialNumber() as that is getting the serial number for one specific SIM card, so if the owner of the phone changes the SIM (e.g. by moving network) the method will return a different ID. The SIM is unique, but each device may use different SIMs at different times.

野の 2024-11-05 07:23:16

Advantej 和 Ollie C 都发布了这个问题的答案。看一下以下页面:

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

Advantej and Ollie C both posted the answer to this question. Have a look at the following page:

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文