читать смс для автоматически в ionic4 не работает - PullRequest
1 голос
/ 30 сентября 2019

Я использовал плагин this для чтения SMS для OTP. Я отправляю SMS на номер мобильного телефона, а затем на следующем экране мне нужно прочитать номер OTP из SMS и нажать кнопку «Подтвердить PIN-код». Но почему-то код не выполняет это событие document.addEventListener('onSMSArrive', (e: any) => {

, а затем застрял здесь.

Я также делюсь кодом.

declare var SMSReceive: any;

ngOnInit() {
    this.next();
  }

  OTP: string = '';
  OTPmessage: string = 'An OTP is sent to your number. You should receive it in 15 s'

  next() {
    this.start();
  }

  start() {
    alert("start");
    SMSReceive.startWatch(
      () => {
        console.log('watch started');
        document.addEventListener('onSMSArrive', (e: any) => {
          console.log('onSMSArrive()');
          alert('onSMSArrive()');
          var IncomingSMS = e.data;
          console.log('sms.address:' + IncomingSMS.address);
          console.log('sms.body:' + IncomingSMS.body);
          alert('sms.address:' + IncomingSMS.address);
          alert('sms.body:' + IncomingSMS.body);
          /* Debug received SMS content (JSON) */
          console.log(JSON.stringify(IncomingSMS));
          alert(JSON.stringify(IncomingSMS));
          this.processSMS(IncomingSMS);
        });
      },
      () => { console.log('watch start failed') }
    )
  }

  stop() {
    SMSReceive.stopWatch(
      () => { console.log('watch stopped') },
      () => { console.log('watch stop failed') }
    )
  }

  processSMS(data) {
    // Check SMS for a specific string sequence to identify it is you SMS
    // Design your SMS in a way so you can identify the OTP quickly i.e. first 6 letters
    // In this case, I am keeping the first 6 letters as OTP
    const message = data.body;
    if (message && message.indexOf('enappd_starters') != -1) {
      this.OTP = data.body.slice(0, 6);
      console.log(this.OTP);
      alert(this.OTP);
      this.OTPmessage = 'OTP received. Proceed to register'
      this.stop();
    }
  }

но код невыполнение события addEventListener.

Получение этой ошибки.

SMSReceive не определен;Зона:;Задача: Promise.then;Значение: ReferenceError: SMSReceive не определено

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...