【发布时间】:2026-01-05 17:50:01
【问题描述】:
尝试在 FCMPlugin.onNotification() 内的 ionic 应用程序中使用 AlertController 创建警报,但未创建警报控制器。实际上,在代码中创建警报后,该方法似乎停止并且不再有 console.log() 工作。
pushNoteSetup(){
if(typeof(FCMPlugin) !== "undefined"){
FCMPlugin.getToken(function(t){
console.log("Use this token for sending device specific messages\nToken: " + t);
}, function(e){
console.log("Uh-Oh!\n"+e);
});
this.confirmAlert('Hi');
FCMPlugin.onNotification(
function(d){
if(d.wasTapped){
// Background receival (Even if app is closed),
// bring up the message in UI
let message = d['aps']['alert'];
console.log('Message received: ' + message);
this.alert = this.alertCtrl.create({
title: 'Hi',
message: 'Boo',
buttons: ['Ok']
});
this.alert.present();
console.log('Should have displayed an alert');
this.confirmAlert(message);
console.log('Skipping over alers?');
} else {
let message = d['aps']['alert'];
console.log('Message received: ' + message);
let alert = this.alertCtrl.create({
title: 'Hi',
message: 'Boo',
buttons: ['Ok']
});
alert.present();
console.log('Should have displayed an alert');
this.confirmAlert(message);
console.log('Skipping over alers?');
this.confirmAlert(message);
}
}, function(msg){
// No problemo, registered callback
console.log('Message:' + msg);
}, function(err){
console.log("Arf, no good mate... " + err);
});
} else {
console.log("Notifications disabled, only provided in Android/iOS environment");
}
}
public confirmAlert(message: any){
let mesg = String(message);
console.log('Message to display ' + mesg + ' and ' + message);
let confirmAlert = this.alertCtrl.create({
title: 'Alert',
message: message,
buttons: [{
text: 'Cancel',
role: 'cancel',
handler: () => {
console.log('cancel');
}
}, {
text: 'Confirm',
handler: () => {
console.log('Confirm');
}
}]
});
confirmAlert.present();
}
这是在 app.componenet.ts 中的 platform.ready() 之后调用的
【问题讨论】:
标签: angular typescript firebase ionic2 cordova-plugins