在 android app 中的基本功能工作正常,但文档中提到的“自动读取 SMS pin”功能不起作用。
问问题
239 次
2 回答
2
首先,在清单文件中添加 SMS 权限。
<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);
并做了。现在自动填充就像魅力一样工作。
请注意,您可以选择保留电话状态权限或仅将其删除。
于 2017-04-04T16:33:02.590 回答
0
根据Document,您需要添加RECEIVE_SMS
权限以启用自动读取 SMS Pin。
在下面添加权限
AndroidManifest.xml
,允许 Digits 读取 SMS 密码,从而使登录过程更容易。
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
于 2016-12-15T05:57:30.853 回答