Java me 如何在J2ME中获取电话号码?

Java me 如何在J2ME中获取电话号码?,java-me,phone-number,Java Me,Phone Number,如何在J2ME应用程序中获取电话号码(而不是联系人号码等)?手机中属于sim卡的电话号码 手机中属于sim卡的电话号码 上述假设是错误的 sim卡不存储您的电话号码 SIM卡只存储一个与您的电话号码无关的唯一标识符 移动设备与网络的交互方式如下: - [phone] hello network, ID on my SIM is 12345 - [network] hello 12345, I recognized you as a sim card currently b

如何在J2ME应用程序中获取电话号码(而不是联系人号码等)?手机中属于sim卡的电话号码

手机中属于sim卡的电话号码

上述假设是错误的

sim卡不存储您的电话号码 SIM卡只存储一个与您的电话号码无关的唯一标识符

移动设备与网络的交互方式如下:

- [phone] hello network, ID on my SIM is 12345
- [network] hello 12345, I recognized you as a sim card
            currently bound to phone number 987-654-321
如果你对细节感兴趣,上面的描述很好

如果您想了解有关此唯一ID的更多信息,请在web上搜索术语“国际移动用户身份”(IMSI)。如果您想从JavaME访问这些数据,您很可能需要电话支持,并且需要了解如何工作。但这无助于你获得电话号码

但是为什么呢? 你是说,为什么他们用一些唯一的标识符而不是电话号码?那很容易。试想一下,当你的SIM卡松动或损坏时会发生什么,或者更好的是,当有人偷了它时会发生什么

你想要新的SIM卡,但你想要以前的号码?好的-你去办公室,他们给你新的SIM卡,并把它绑定到你的旧号码上。现在,在那之后它是如何工作的

- [stolen phone] hello network, ID on my SIM is 12345
- [network] hello 12345, I recognized you as invalid sim card
            so I will ignore you
- [your new phone] hello network, ID on my SIM is 23456
- [network] hello 23456, I recognized you as a sim card
            currently bound to phone number 987-654-321
好吧,但是为什么他们不同时存储IMSI和电话号码呢? 因为那样更便宜。再想想SIM卡丢失/损坏的情况。会发生什么?你来到办公室,办公桌上的家伙给了你新的SIM卡,并在数据库中添加了一条记录,告诉你SIM卡id现在绑定到了你的旧电话号码上。那既简单又便宜

如果他们必须将你的电话号码存储在SIM卡上,他们必须以某种方式将其记录在SIM卡上,并测试添加的记录是否按预期工作。这是额外的工作,他们会从中得到什么?没什么

但是但这在iPhone上似乎是可行的,不是吗?
不完全是这样:

WIKI:要拨打的实际号码:@Cipi那又怎样?你提到的这篇文章非常清楚地指出“SIM卡与IMSI唯一关联”,SIM卡上没有电话号码,只有IMSI。而且不可能是因为我提供的原因(SIM卡丢失/损坏/被盗的情况)@Cipi我明白了。MSISDN确实值得了解。我的意思是,在许多电话中,你可以看到你的电话号码,如果你能看到你的电话号码,sim卡可能有其独特的imsi,但在与移动运营商握手后,它可能对手机可见,就像在iphone中,它只是在联系人可见的顶部,当然,iphone将imsi转换为电话号码并获得该值,但如何获得该值,在许多诺基亚手机中也是如此well@user818117我明白了,跟接线员握手吧。为什么不呢?不过,这将是一个完全不同的问题。当然,这与“手机中属于sim卡的电话号码”毫无关系,因为正如你所见,根本就没有这回事