在科尔多瓦本地通知中使用操作

Posted

技术标签:

【中文标题】在科尔多瓦本地通知中使用操作【英文标题】:Working with actions in cordova local notifications 【发布时间】:2019-01-28 17:29:57 【问题描述】:

我已经在我的应用程序中安装了用于本地通知的 cordova 本地通知插件。但是,我无法让通知操作在我的代码中起作用。

这是我的代码。

scheduleTime: String = '08:15';  //default

scheduleAlarm()

    this.date = this.datePipe.transform(this.date,"yyyy-MM-dd");
    var reminder_date = new Date(this.date+" "+this.scheduleTime);
    var hours = reminder_date.getHours();
    var minutes = reminder_date.getMinutes();

    if(reminder_date)

        cordova.plugins.notification.local.schedule(
         id: 1,
         text: 'My first notification',
         trigger: at: reminder_date,
         actions:[id: 'yes', title: 'Yes',id:'no',title:'No']
        )

        this.showAlert('Reminder is set successfully');
    

 cordova.plugins.notification.local.on("yes",function(notification)
    alert(notification.id);
 );

点击是后什么都没有发生,只是通知正在消失。我处理正确吗?有人可以帮我解决这个问题吗?

【问题讨论】:

【参考方案1】:

您必须将启动属性添加到您的操作数组并将布尔值设置为 true。

    cordova.plugins.notification.local.schedule(
     id: 1,
     text: 'My first notification',
     trigger: at: reminder_date,
     actions:[id: 'yes', title: 'Yes', launch: true,id:'no',title:'No']
    )

因此,当您单击“是”时,它将启动应用程序。

【讨论】:

【参考方案2】:

您需要在 onDeviceReady() 中添加它。

function onDeviceReady() 
    console.log('Running cordova-' + cordova.platformId + '@' + cordova.version);
    document.getElementById('deviceready').classList.add('ready');

    // Add this code here
    cordova.plugins.notification.local.on("yes",function(notification)
        alert(notification.id);
    );

【讨论】:

以上是关于在科尔多瓦本地通知中使用操作的主要内容,如果未能解决你的问题,请参考以下文章

在科尔多瓦本地通知中显示进度条

科尔多瓦插件本地通知和数据

科尔多瓦升级后本地通知插件损坏

科尔多瓦本地通知声音在 ios 和 Android 中不起作用

如何让本地通知插件在我的科尔多瓦应用程序上工作?

使用cordova本地通知和离子设置重复间隔的特定数据和时间