我使用以下android代码来获取手机号码,它只在Android模拟器上工作:
TelephonyManager tm =(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
String number = tm.getLine1Number();
但是当我在真实设备(Samsung Galaxy Chat B5330
)中测试它时,它什么都没有(空字符串)
请帮助解决一些代码段。
答案 0 :(得分:5)
对于GSM,电话号码在SIM卡上,有些运营商只是不把它放在卡上,然后手机不知道它是什么,但在这种情况下你 应该得到一个empry字符串而不是null
如果运营商将号码存储在您的SIM卡上,请转到Settings -> About Phone -> Status -> My phone Number
。如果它显示unknown
,那么您的号码不会存储在SIM卡上。
获取IMEI:
TelephonyManager tm =(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
imei_no = tm.getDeviceId();
答案 1 :(得分:1)
答案 2 :(得分:1)
您必须使用Telephony Manager;如果没有找到联系人号码。用户; 您可以使用相同的Telephony Manager Class获取Sim Card的Sim Serial Number和Imei No. Android Device ...
添加权限:
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
导入:
import android.telephony.TelephonyManager;
使用以下代码:
TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
// get IMEI
imei = tm.getDeviceId();
// get SimSerialNumber
simSerialNumber = tm.getSimSerialNumber();