Я использовал плагин 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 не определено