【发布时间】:2017-12-31 08:16:38
【问题描述】:
我想验证用户手机号码是否与在 Android 应用程序注册期间设备中使用的 sim 号码相同。
如何在我的应用中获取 sim 号码以与用户输入的号码进行比较?
如果不可能,还有其他验证过程吗?
【问题讨论】:
标签: android
我想验证用户手机号码是否与在 Android 应用程序注册期间设备中使用的 sim 号码相同。
如何在我的应用中获取 sim 号码以与用户输入的号码进行比较?
如果不可能,还有其他验证过程吗?
【问题讨论】:
标签: android
此代码可以找到 sim 号码,但前提是该号码已保存在我们的手机中 目录,否则我们无论如何都找不到 sim 号码。
TelephonyManager telephonyManager = (TelephonyManager)
getSystemService(Context.TELEPHONY_SERVICE);
mobile number = telephonyManager.getLine1Number();
真的不可能只有那些保存了他们的 sim 号码的设备 可以的。 OTP 验证流程最适合此,请输入您的 编号并获取 otp 进行验证。
【讨论】:
尝试以下代码获取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"/>
【讨论】:
您可以使用此代码找到第一个 sim 号码。
TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
mobileNumber = telephonyManager.getLine1Number();
在清单中添加这个uses-permission。
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
此代码会对您有所帮助,但有时它不会返回确切的结果。最好的选择是在询问用户手机号码后验证号码。
这对你有帮助,对我也有帮助。
【讨论】: