我試圖contactnumber android中獲取車主它運行在模擬器罰款,但在handset.Here不工作是代碼如何獲取當前的SIM卡號碼
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String imei = tm.getDeviceId();
String phoneNumber = tm.getLine1Number();
我試圖contactnumber android中獲取車主它運行在模擬器罰款,但在handset.Here不工作是代碼如何獲取當前的SIM卡號碼
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String imei = tm.getDeviceId();
String phoneNumber = tm.getLine1Number();
不保證getLine1Number()
將始終返回所有設備上的SIM卡號碼。因爲號碼的可用性取決於其在SIM卡中的存儲。
如果SIM卡中沒有存儲/使用該號碼,則該方法將返回空字符串。
爲了獲得用戶的電話號碼,您應該將用戶設備的短信發送到您的服務器或設備(與Viber或其他應用相同)。一個好的做法是確保用戶的確認完成。
用途:
TelephonyManager telemamanger = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String getSimSerialNumber = telemamanger.getSimSerialNumber();
String getSimNumber = telemamanger.getLine1Number();
並添加下面的權限進入你的Androidmanifest.xml
文件。
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
編輯:使用getSimSerialNumber()
試
getLine1Number()
- 此方法返回線1的電話號碼串,即所述MSISDN
用於GSM
電話。如果不可用,則返回null。
此方法僅適用於少數手機,但不適用於所有手機。
因此,如果您需要根據SIM執行操作(除了調用),那麼您應該使用getSimSerialNumber()
。它總是獨一無二的,有效的,它始終存在。
String sSimSerial = mTelephonyMgr.getSimSerialNumber();
getSimSerialNumber()是您需要調用以獲取SimSerialNumber的方法。
代碼更新:
TelephonyManager tm=(TelephonyManager)mAppContext.getSystemService(Context.TELEPHONY_SERVICE);
String imei = tm.getDeviceId();
String phoneNumber = tm.getLine1Number();
String simSerialNumber = tm.getSimSerialNumber();
然後通過其他方式獲取號碼 – Supreet 2013-03-05 14:09:55
不,除了從用戶設備向您的服務器或設備發送短信之外,沒有其他辦法。 (與Viber或其他應用程序一樣) – waqaslam 2013-03-05 14:10:56