2017-07-25 43 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 !!!!! –