title: Flutter sms_autofill doesn't always read the OTP automatically
body: <pre><code>import 'package:flutter/material.dart';
  import 'package:sms_autofill/sms_autofill.dart';
  import './../../widgets/color_loader.dart';
  import './../../models/login_api_response_model.dart';
  import './../../services/Authentication/authentication_service.dart';
  import './../../models/enum_models.dart';
  import './login_error_page.dart';
  
  class ValidateOtp extends StatefulWidget {
    final String mobileNumber;
    ValidateOtp({@required this.mobileNumber});
    @override
    _ValidateOtpState createState() =&gt; _ValidateOtpState();
  }
  
  class _ValidateOtpState extends State&lt;ValidateOtp&gt; {
    final SmsAutoFill _autoFill = SmsAutoFill();
    bool verifactionFailed = false;
    Future&lt;LoginApiResponseModel&gt; response;
    LoginApiResponseModel loginApiResponseModel;
    bool isInit = true;
    bool resendOtp = false;
    String otp;
  
    void fetchOtp() {
      print('setState fetchOtp');
      response = AuthenticationService.generateOtp(widget.mobileNumber)
          .then((value) =&gt; loginApiResponseModel = value);
    }
  
    @override
    void initState() {
      _listenOTP();
      fetchOtp();
      super.initState();
    }
  
  
    void _listenOTP() async {
      await SmsAutoFill().listenForCode;
    }
  
    validateOtp(String otp) {
      print('Code received $otp');
    }
  
    @override
    void dispose() {
      SmsAutoFill().unregisterListener();
      super.dispose();
    }
  
    @override
    Widget build(BuildContext context) {
      print('${_autoFill.getAppSignature}');
      return Scaffold(
        body: FutureBuilder(
          future: response,
          builder: (context, dataSnapShopt) {
            if (dataSnapShopt.connectionState == ConnectionState.waiting) {
              return Center(
                child: ColorLoader(),
              );
            } else if (dataSnapShopt.error != null) {
              return Center(
                child: Text('Something went wrong..'),
              );
            } else {
              return loginApiResponseModel.status == 'fail'
                  ? LoginErrorPage(
                      errorMessage: 'Invalid Mobile number!',
                      errorType: ErrorType.InvalidMobileNumber,
                    )
                  : Column(
                      mainAxisAlignment: MainAxisAlignment.center,
                      children: [
                        Container(
                          child: Padding(
                            padding: const EdgeInsets.all(10.0),
                            child: PinFieldAutoFill(
                              autofocus: true,
                              keyboardType: TextInputType.number,
                              codeLength: 6,
                              onCodeChanged: (value) {
                                if (value.length == 6) {
                                  print(' onCodeChanged');
                                  otp = value;
                                }
                              },
                    
                            ),
                          ),
                        ),
                        Container(
                          child: FloatingActionButton.extended(
                            onPressed: () =&gt; validateOtp(otp),
                            label: Text('Confirm'),
                          ),
                        ),
                        Row(
                          mainAxisAlignment: MainAxisAlignment.center,
                          children: [
                            Text('Didn\'t receive OTP? '),
                            FlatButton(
                              onPressed: () {
                                setState(() {
                                  resendOtp = !resendOtp;
                                });
                                fetchOtp();
                              },
                              child: Text('RESEND'),
                            )
                          ],
                        )
                      ],
                    );
            }
          },
        ),
      );
    }
  }
  </code></pre>
  <p>Hi,
  I am using <code>sms_autofill 1.2.3</code> to autofill the OTP.
  my flutter application is able to read the OTP automatically but not always, Like when I make some change and do hot reload or even after running flutter run again sometimes it doesn't read the code am I missing something?
  I am using sms_autofill 1.2.3 to autofill the OTP.
  my flutter application is able to read the OTP automatically but not always, Like when I make some change and do hot reload or even after running flutter run again sometimes it doesn't read the code am I missing something?</p>