2017-07-25 38 views
3

我想驗證用戶細胞數是相同的Android應用註冊期間在裝置中使用的SIM卡號碼。獲取機器人SIM號碼編程

如何讓我的應用程序的SIM卡號碼與用戶輸入的數字來比較?

如果不可能那麼任何其他驗證過程?

+5

[如何在Android中獲取當前SIM卡號?](https://stackoverflow.com/questions/14051023/how-to-get-current-sim-card-number-in-android) –

回答

0

嘗試下面的代碼獲取SIM卡序列號,並獲得SIM卡號碼

TelephonyManager tManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); 
String getSimSerialNumber = tManager.getSimSerialNumber(); 
String getSimNumber = tManager.getLine1Number(); 

Log.v(TAG, "getSimSerialNumber : " + getSimSerialNumber +" ,getSimNumber : "+ getSimNumber); 

添加以下權限到您的AndroidManifest.xml

<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 
+0

我可以用這個方法來驗證用戶單元沒有 –

+0

它給我空:( –

+1

你找不到SIM卡號碼,並且還我已經使用這個卻給人總是空 –

0

您可以使用此代碼的第一個SIM卡號碼。

TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); 
mobileNumber = telephonyManager.getLine1Number(); 

在清單中也加上這個uses-permission

<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 

此代碼將幫助你,但有一段時間它不會返回確切的結果。最好的選擇是在詢問用戶的手機號碼後驗證號碼。

這將幫助你,它已經幫助了我。

+0

這給我null已經 –

2

此代碼可以找到SIM卡的號碼,但只有當號碼保存在我們的電話號碼簿 目錄中,或者在任何情況下我們都找不到SIM卡號碼。

TelephonyManager telephonyManager = (TelephonyManager) 
getSystemService(Context.TELEPHONY_SERVICE); 
mobile number = telephonyManager.getLine1Number(); 

真的是不可能的只有那些已經救了他們的SIM卡號碼 能可能的設備。 OTP驗證過程最適合此,請輸入您的 號碼並獲得otp進行驗證。

+1

謝謝G Meh di Balti !!!!! –