Автоматизация чтения SMS Pin не работает в цифрах Android

В Android-приложении основные функции работают нормально, но функция "Автоматическое чтение SMS-пин-кода", указанная в документе, не работает.

ткань цифр

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);

И сделано. Теперь автозаполнение работает как шарм.

Обратите внимание, что вы можете оставить разрешение на статус телефона или просто удалить его.

Согласно документу, вам необходимо добавить RECEIVE_SMS разрешение на включение автоматического чтения ПИН-кода SMS.

Добавление разрешения ниже, в AndroidManifest.xml, позволяет цифрам читать пин-код SMS, что облегчает процесс входа в систему.

<uses-permission android:name="android.permission.RECEIVE_SMS"/>
Другие вопросы по тегам