-6

在 android app 中的基本功能工作正常,但文档中提到的“自动读取 SMS pin”功能不起作用。

织物数字

4

2 回答 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 回答