以编程方式在android中获取sim号

时间:2017-07-25 12:02:37

标签: android

我想验证用户单元格编号与Android应用程序中注册期间设备中使用的sim编号相同。

如何在我的应用中获取SIM号码以与用户输入的号码进行比较?

如果不可能再进行其他任何验证过程?

3 个答案:

答案 0 :(得分:2)

此代码可以找到SIM号码,但前提是号码已保存到我们的手机中 目录或我们永远无法找到SIM号码。

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

真的不可能只有那些保存了他们的SIM号码的设备 可以。 OTP验证过程最适合这个,请输入您的 编号并获得otp验证。

答案 1 :(得分: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"/>

答案 2 :(得分:0)

您可以使用此代码找到第一个SIM号码。

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

在清单中也添加此uses-permission

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

此代码可以帮助您,但有时它不会返回确切的结果。最好的选择是在询问用户手机号码后验证号码。

这对你有帮助,它帮助了我。