离子/科尔多瓦通知权限一次拒绝后

时间:2019-11-21 11:57:42

标签: javascript ios cordova ionic-framework

这让我感到震惊,因为我有一个想要在其中向用户启用推送通知的应用。

它工作正常,但是用户可以采取一些步骤来“破坏”系统,让我逐步执行以下步骤:

禁用设置通知

向用户显示权限请求弹出窗口,提示他们应启用通知,然后按“否”,麻烦就开始了。

现在将使用false将手机的设置设置为diagnostics plugin,我们可以检查一下:

this.diagnostic.getRemoteNotificationsAuthorizationStatus().then((status) => {
    console.log('Get rmeote notification status ' + status);
    switch (status) {
        case this.diagnostic.permissionStatus.GRANTED:
            console.log('granted');
            break;
        case this.diagnostic.permissionStatus.DENIED_ALWAYS:
            console.log('denied_always');
            break;
        default:
            console.log('none of the above');
            break;
    }
});

该方法将注销denied_always,因为phone已拒绝通知

现在,这里的问题是使弹出窗口再次出现。因为如果我们尝试以下功能:

async requestNotificationPermission() {
    this.diagnostic.requestRemoteNotificationsAuthorization(['ALERT', 'SOUND', 'BADGE'], false).then((result) => {
        console.log(result);
    }).catch((error) => {
        console.log(error);
    });
}

它将给出错误:

  

请求错误远程通知授权被拒绝

现在,这迫使我要做的是使自己的弹出窗口说“嘿,用户,您需要手动进入设置并将通知设置为true”。这是理想的FAR。

我很茫然,为什么我不能再次显示弹出窗口?

有人可以帮助我吗?

0 个答案:

没有答案