getLine1Number()与双SIM卡手机一起返回什么?

时间:2012-06-25 22:05:51

标签: android

getLine1Number()的{​​{1}}方式与LG Optimus Net Dual等双SIM卡手机的回复是什么?

3 个答案:

答案 0 :(得分:10)

你只会回来一个号码......也许!

首先,您获得的号码取决于设备。

但同样重要的是,你是否会获得一个号码,以及这个号码是否是电话号码,是完全不可预测的。这是SIM和操作员相关的。

在我的一个应用程序中,我开始尝试将电话号码用作唯一ID,因为我可以期待用户轻松地回忆这个号码。对于亚洲,澳大利亚和欧洲的大多数运营商而言,电话号码(line1number())根本不存储在SIM卡上!与其他人一起,你可能会得到一串零。或者以一种可能在当地有意义的方式格式化的数字,但可能会弄乱你的应用程序的逻辑。

答案 1 :(得分:2)

Android不支持双卡双待设备。请参阅:Detect the status of two SIM cards in a dual-SIM Android phone

正如其他人所说,您可能会得到设备制造商的支持。

此外,getLine1Number()不保证会返回电话号码。它只返回操作员存储在卡中的内容,而一些操作员则不会填写该号码。因此,对于某些SIM卡,这只会返回null。

如果您提供了您要实现的目标的详细信息,我们可能会提供更好的解决方案。

答案 2 :(得分:0)

默认SDK不支持处理双SIM卡手机。该功能只返回一个号码,最有可能是第一张有效的SIM卡。

但是,制造商有时会提供用于处理这些内容的SDK,您可能需要查看此内容。