要获取用户的手机号码,我就是这样做的:
TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_MANAGER);
String mobileNumber = tm.getLine1Number();
这种方法似乎在菲律宾100%的时间都有效,其中SIM卡大多是预付费的。如果您需要更改号码,只需购买一个新号码即可。然而,在丹麦,我总是一无所获。这是为什么?除了这个之外,我还有办法获得用户的手机号码吗?
答案 0 :(得分:1)
您的电话号码存储在SIM卡的内存中(此处我不是在谈论联系人内存)。如果他们将号码添加到您的SIM卡中,则取决于SIM卡制造商。因此,您的SIM卡可能不包含该号码。
要解决此问题,您需要在SIM卡中手动定义您的电话号码。拿任何旧的SonyEricsson手机或iPhone,转到SIM卡设置(取决于手机型号)并定义SIM卡的号码。完成后,您的代码将能够从SIM中读取它。
在可能的情况下,我使用的是Tre-Sverige SIM卡,它也没有存储在SIM卡上的电话号码,但按照上述步骤后,我现在可以读取该号码了。