我正在构建一个android应用程序,将在用户的SIM卡上获得许可。我可以检查两个可能的值:
- sim卡序列号:
TelephonyManager.getSimSerialNumber();
- imsi:
TelephonyManager.getSubscriberId();
由于我不想两者都使用,我猜实际上依赖其中一个或另一个并没有什么区别。我是对的,还是我遗漏了什么?
谢谢!
这取决于你想要什么。
如果许可证工作,以检查序列号是否与数据库匹配为例。
如果用户安装了你的应用程序并且sim卡序列号存储在你的数据库中,如果用户移除sim卡并插入新的sim卡,许可证将失败,因为你的数据库不存储新sim卡的序列号。
如果你获得基于IMSI号码,那么许可证将与设备,所以即使用户更换了SIM卡,许可证仍然会通过你使用的设备ID。
注意,虽然我不知道SIM系列是否会工作,或者它将如何处理没有SIM卡的设备,如美国的CDMA设备。
ICCID (SIM Serial)为SIM卡的序列号。每个SIM卡都是唯一的。IMSI是一种补贴。它实际上是一个网络ID。
更多参考:https://m.blog.naver.com/framkang/220363349346