1

要获取用户的手机号码,这就是我所做的:

TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_MANAGER);
String mobileNumber = tm.getLine1Number();

这种方法似乎在菲律宾 100% 有效,那里的 SIM 卡大多是预付费的。如果您需要更改您的号码,您只需购买一个新号码。然而,在丹麦,我总是一无所获。这是为什么?除了这个之外,我还有什么方法可以获取用户的手机号码吗?

4

1 回答 1

1

您的电话号码存储在 SIM 卡的内存中(这里我不是在谈论联系人内存)。这取决于 SIM 卡制造商是否将号码添加到您的 SIM 卡中。因此,您的 SIM 卡可能不包含该号码。

要解决这个问题,您需要在 SIM 中手动定义您的电话号码。使用任何旧的索尼爱立信手机或 iPhone,进入 SIM 设置(取决于手机型号)并为 SIM 卡定义您的号码。完成后,您的代码将能够从 SIM 中读取它。

在可能的情况下,我使用的 Tre-Sverige SIM 卡也没有存储在 SIM 卡上的电话号码,但按照上述步骤后,现在我可以读取号码了。

于 2012-10-16T11:43:47.997 回答