自动读取 SMS Pin 在数字 android 中不起作用
Posted
技术标签:
【中文标题】自动读取 SMS Pin 在数字 android 中不起作用【英文标题】:Automate Reading the SMS Pin not work in digits android 【发布时间】:2016-12-15 05:46:29 【问题描述】:在安卓应用中基本功能正常,但文档中提到的“自动读取短信密码”功能不起作用。
fabric-digits
【问题讨论】:
function noted in the document below is not working
-- 哪个函数?
自动读取短信
不清楚你在问什么:)
在他们的文档中,他们提供了一个自动读取短信 pin 的功能,方法是在清单中添加读取短信的权限,但无法正常工作
【参考方案1】:
首先,在清单文件中添加短信权限。
<uses-permission android:name="android.permission.RECEIVE_SMS" />
然后,在登录或使用我的电话号码活动时声明运行时权限。将此方法添加到您的 LoginActivity.class。
public static class UtilitiesPhone
public static final int MY_PERMISSIONS_REQUEST_READ_PHONE_STATE = 130;
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
public static boolean checkPermission(final Context context)
int currentAPIVersion = Build.VERSION.SDK_INT;
if(currentAPIVersion>=android.os.Build.VERSION_CODES.M)
int permissionPHONE = ContextCompat.checkSelfPermission(context, Manifest.permission.READ_PHONE_STATE);
int permissionSMS = ContextCompat.checkSelfPermission(context, Manifest.permission.SEND_SMS);
List<String> listPermissionsNeeded = new ArrayList<>();
if (permissionPHONE != PackageManager.PERMISSION_GRANTED)
listPermissionsNeeded.add(Manifest.permission.READ_PHONE_STATE);
if (permissionSMS != PackageManager.PERMISSION_GRANTED)
listPermissionsNeeded.add(Manifest.permission.SEND_SMS);
if (!listPermissionsNeeded.isEmpty())
ActivityCompat.requestPermissions((Activity) context,
listPermissionsNeeded.toArray(new String[listPermissionsNeeded.size()]), MY_PERMISSIONS_REQUEST_READ_PHONE_STATE);
return false;
else
return true;
return true;
在你的 onCreate 中声明这个
final boolean result= LoginActivity.UtilitiesPhone.checkPermission(this);
完成了。现在自动填充功能就像魅力一样。
请注意,您可以选择保留手机状态权限或直接删除它。
【讨论】:
感谢您的回答,但您的代码会检查 READ_PHONE_STATE 和 SEND_SMS 权限,而 Digits 只需要 RECEIVE_SMS 权限...【参考方案2】:根据Document,您需要添加RECEIVE_SMS
权限才能启用自动读取短信密码。
在
AndroidManifest.xml
中添加下面的权限,允许 读取 SMS 密码的数字,从而使登录过程更容易。
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
【讨论】:
发布有问题的代码。也许其中缺少一些东西。以上是关于自动读取 SMS Pin 在数字 android 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
用Android Studio 手动输入的数字中找出最大和最小的数字
带有 Spring Security 的 Spring Boot - 使用 SMS/PIN/TOTP 的两因素身份验证
WebView(Android App)中弹出的模态对话框中的自动填充文本字段