Я создаю приложение, в котором перечислены некоторые события, на которые могут претендовать пользователи.Я использую сервис FCM для отправки уведомлений на устройства и открытия приложения, а затем для конкретного события с помощью формы приложения.
Все это прекрасно работает при доступе к странице формы из приложения, но при доступе через уведомление о нажатии запуска формыведет себя странно.Радио кнопки и флажки не проверяются при нажатии их.Они в конечном итоге проверяются, если есть какие-то другие входы, и вы сосредоточены на них.Это действительно странно, трудно описать ...
Должна быть какая-то проблема с ионной структурой, потому что объекты за этими переключателями и флажками меняют свои значения при нажатии.Это просто поведение HTML, которое не работает должным образом.
У меня есть push.ts провайдера, где вся работа по получению токена и извлечению уведомлений выполнена.Я внедряю этого провайдера в app.component.ts и внутри конструктора делаю следующее:
this.platform.ready().then(() => {
// set push listeners
this.listenPushEvents();
// check if the user is logged in
this.users.isLoggedIn().then( (response) => {
if(response){
this.users.refreshUserProfile().then( () =>{
this.users.getUserProfile().then((user) => {
this.user = user;
this.rootPage = HomePage;
// push notifications
this.pushService.initPushNotification();
this.splashScreen.hide();
});
})
}
else{
this.rootPage = LoginPage;
this.splashScreen.hide();
}
});
});
listenPushEvents(){
this.events.subscribe('push:event', (id) => {
this.openPage('event-view', id);
});
}
openPage(page, id?) {
switch(page){
case 'event-view':
this.nav.push(PrijavaNaDogodekViewPage, {id:id});
break;
}
}
затем в push.ts
// on notification
this.fcm.onNotification().subscribe(data => {
if(data.wasTapped){
this.events.publish('push:'+data.type, Number(data.id) );
} else {
let title, message, ok_btn, cancel_btn;
let confirmAlert;
title = data.title;
message = data.body;
switch(data.type){
case "event":
ok_btn = "Prijava";
cancel_btn = "Prekliči"
break;
}
confirmAlert = this.alertCtrl.create({
title: title,
message: message,
buttons: [{
text: cancel_btn,
role: 'cancel'
}, {
text: ok_btn,
handler: () => {
this.events.publish('push:'+data.type, Number(data.id) );
}
}]
});
confirmAlert.present();
};
});
Кто-нибудь сталкивался с такой проблемой?