我想获取当前在手机中的SIM号码,即所有者号码。 和网络模式无论是GSM还是CDMA。
我在网上搜索并尝试通过getLine1Number()进行此操作; 但没有给予任何东西
请帮助我如何做到这一点。
答案 0 :(得分:7)
获取你的SIM卡号码,网络你可以这样做:
TelephonyManager tm = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
ConnectivityManager cm = (ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE);
if(cm.getActiveNetworkInfo().getTypeName().equals("MOBILE"))
network = "cellnetwork/3G";
else if(cm.getActiveNetworkInfo().getTypeName().equals("WIFI"))
network = "wifi";
else
network ="na";
uphone = tm.getLine1Number();
希望它能够:)
我试过了,它对我有用
答案 1 :(得分:3)
您可以使用电话号码
// Get the phone number from the telephony manager, and display it
TelephonyManager info = (TelephonyManager)getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE);
String phoneNumber = info.getLine1Number();
有关网络模式,请参阅TelephonyManager
答案 2 :(得分:0)
这个问题多次被问过。
请参阅How to get the mobile number of current sim card in real device?
而且,我必须补充说,获取电话号码取决于运营商是否在SIM卡上提供。
答案 3 :(得分:0)
要获取电话号码,请尝试使用TelephonyManager。
如果这不起作用,您可以通过AccountManager获取此信息。其中一个帐户就是数字。
请参阅此帖子中的源详细信息实现: TelephonyManager.getLine1Number() failing?