【问题标题】:validate if the aplication is open/active in cordova app andorid验证应用程序是否在cordova app android中打开/活动
【发布时间】:2017-06-01 22:04:19
【问题描述】:

我有一个使用 cordova 开发的 Android 应用,并且我正在运行 firebase 插件。

当我向我想要的设备发送通知而不是该通知在特定位置打开应用程序时,我只是这样做,但是当应用程序打开并发送任何通知时,应用程序只会跳转到指定的位置。

我想知道是否存在某些功能,或者在应用程序是否打开时向您显示,然后不要执行任何操作。

我正在使用cordova和javascript。

非常感谢

【问题讨论】:

    标签: php android cordova firebase


    【解决方案1】:

    根据 pauseresume 事件,您可以了解应用是在前台还是后台。

    document.addEventListener("deviceReady", function readyCallback() {
    
    
        var isAppInForeground = true;
    
    
        document.addEventListener("pause", function pauseCallback() {
          isAppInForeground = false;
        }, false);
    
        document.addEventListener("resume", function resumeCallback() {
          isAppInForeground = true;
        }, false);
    
    });
    

    现在,当您收到通知时,请检查标志 isAppInForeground,如下所示

    window.FirebasePlugin.onNotificationOpen(function(notification) {
        console.log(notification);
        if(isAppInForeground){
            // avoid the navigation
        }
        else{
           // allow the navigation
        }
    }, function(error) {
        console.error(error);
    });
    

    希望对你有帮助

    【讨论】:

    • 非常感谢!这是我的问题的解决方案!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-05
    • 2015-11-17
    • 1970-01-01
    相关资源
    最近更新 更多