Интегрирован sms_autofill в мой проект флаттера. Он не может прочитать ОТП из смс.Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Интегрирован sms_autofill в мой проект флаттера. Он не может прочитать ОТП из смс.

Сообщение Anonymous »

Я пытаюсь интегрировать флаттер-библиотеку sms_autofill. Я добавил код, как было предложено.
В initState я добавил _listenCode();

Код: Выделить всё

@override
void initState() {
super.initState();

_initializeTextControllers();
_listenCode();
}

void _listenCode() async{
await SmsAutoFill().listenForCode();
}

void _initializeTextControllers() {
for (int i = 0; i < _controllers.length; i++) {
_controllers[i].addListener(() => _onTextChanged(i));
}

WidgetsBinding.instance.addPostFrameCallback((_) {
FocusScope.of(context).requestFocus(_focusNodes[0]);
});
}
И у нас есть метод с именем @override void codeUpdated(), который, как ожидается, будет посещать для чтения otp из sms, а именно:

Код: Выделить всё

@override
void codeUpdated() {
// Handle auto-filled code
print("codeUpdated Received OTP visited "); // Debug log
String code = convertStreamToString(SmsAutoFill().code) as String;
_otp = code;
print("Received OTP: $code"); // Debug log
if (code.length == _controllers.length) {
setState(() {
for (int i = 0; i < _controllers.length; i++) {
_controllers[i].text = code[i];
}
// Move focus to the next field if needed
FocusScope.of(context).requestFocus(_focusNodes.last);
});
}
}
выше все коды написаны в классе блоков _OtpScreenState расширяет State с помощью CodeAutoFill {...
Мой пример смс с хешем:
123456 — ваш OTP.
AB/C1defgH2
Но codeUpdated() блок не посещается. Поэтому я не могу прочитать otp...
Я также добавил разрешения, такие как получение SMS и чтение SMS, в мой файл Androidmanifest.
Как заставить это работать? Пожалуйста, помогите!

Подробнее здесь: https://stackoverflow.com/questions/788 ... rom-the-sm
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»