- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
尝试在 FCMPlugin.onNotification() 内的 ionic 应用程序中使用 AlertController 创建警报,但未创建警报 Controller 。事实上,在代码中创建警报后,该方法似乎停止并且不再有 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() 之后调用的
最佳答案
您正在使用 javascript function
来更改 this
的值。它将指向函数上下文。您可以尝试将上下文另存为:
self = this;
还有回调,
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);
self.alert = self.alertCtrl.create({
title: 'Hi',
message: 'Boo',
buttons: ['Ok']
});
self.alert.present();
//...
或者更好的方法是使用 arrow function
FCMPlugin.onNotification(
(d)=>{
//create alert
});
关于angular - 在 FCMPlugin Ionic 2 中调用时 AlertController 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42339536/
我使用了cordova-plugin-fcm https://github.com/fechanique/cordova-plugin-fcm在我的项目中。 它建立在 android 项目成功的基础上
我正在使用 Ionic 2,并且正在尝试让推送通知正常工作。 我已经在 Firebase 注册了我的应用,并且可以成功推送通知给它。 我现在需要进行设置,以便我可以从我的应用推送通知。所以我决定使用以
我在 Windows for Android 上将其与 ionic 2 一起使用。当我添加 cordova-plugin-fcm 插件时,我无法再构建项目。这是我收到的错误: BUILD FAILED
我正在尝试通过 cordova-fcm-plugin 在我的 Ionic 2 应用程序中使用 FCM 推送通知。 我遵循了每个教程,当我从 firebase 控制台发送推送时它工作正常,但我想使用它的
我是 Phonegap 的新手。我之前没有使用 Cordova 项目的经验。我正在尝试将推送通知从 Firebase Cloud Messaging(FCM) 发送到应用程序。我正在使用 cordov
尝试在 FCMPlugin.onNotification() 内的 ionic 应用程序中使用 AlertController 创建警报,但未创建警报 Controller 。事实上,在代码中创建警报
我是一名优秀的程序员,十分优秀!