我的Android应用程序需要检索设备的电话号码。我正在使用方法getLine1Number()
来检索它,但是在某些手机上它会返回错误的值。
代码:
TelephonyManager tMgr = (TelephonyManager)c.getSystemService(Context.TELEPHONY_SERVICE);
String number = tMgr.getLine1Number();
手机返回错误的值是运行Android 6.0.1的三星Galaxy S6。在电话号码下的电话设置中,它显示相同的错误值,但在MIN下显示正确的电话号码。
任何人都可以向我提出这个问题的想法或解决方案吗?我一直无法找到从Android手机中检索MIN值的任何方法。我也没有确定为什么这款手机返回了错误的值。
答案 0 :(得分:1)
无法获取设备的电话号码。由于某些运营商设置SIM卡的方式,实际上设备本身可能不知道自己的电话号码是什么。如果您确实需要电话号码,则需要向用户询问。如果您需要手机的唯一ID,其他东西如ANDROID_ID更合适(请记住,Android设备甚至没有手机号码 - 平板电脑,观看,电视可能没有。)