Phonegap - OneSignal推送通知 - 只要用户点击通知,app就会重新启动

时间:2016-12-08 02:52:01

标签: cordova push-notification onesignal

Alrighty ......有一个我设置使用OneSignal使用推送通知的手机应用程序。我把它全部初始化了,我可以发送测试通知。

当我在我的Android设备(Galaxy S6)上进行测试时,推送过来但是当我点击通知时它总是加载应用程序,即使我已经打开它但不是焦点。不知道我在做什么,这使得应用程序每次都加载。

另外值得注意的是,当应用程序加载时,新的handleNotificationReceived函数永远不会被调用,因此我无法响应它。

不要认为这是我的初始代码,但这只是以防万一。

function InitializePushNotifications() {
    if (!_isNative)
        return;

    LogInfo('Initializing Push Notifications...');

    var iosSettings = {};
    iosSettings["kOSSettingsKeyAutoPrompt"] = true;
    iosSettings["kOSSettingsKeyInAppLaunchURL"] = false;

    window.plugins.OneSignal
        .startInit(config.Push, config.Google)
        .inFocusDisplaying(window.plugins.OneSignal.OSInFocusDisplayOption.None)
        .iOSSettings(iosSettings)
        .handleNotificationReceived(function(jsonData) {
            LogInfo('PUSH!: ' + jsonData.payload.title + " | " + jsonData.payload.body);
        })
        .handleNotificationOpened(function(jsonData) {
            ShowMySpecialScreen();
        })
        .endInit();
}

谢谢!

更新 根据评论中的请求,以下是我们当前使用的插件:

<gap:plugin name="cordova-plugin-device" source="npm" spec="1.1.2" />
<gap:plugin name="cordova-plugin-device-orientation" source="npm" spec="1.0.3" />
<gap:plugin name="cordova-plugin-dialogs" source="npm" spec="1.2.1" />
<gap:plugin name="cordova-plugin-file" source="npm" spec="4.2" />
<gap:plugin name="cordova-plugin-file-transfer" source="npm" spec="1.5.1" />
<gap:plugin name="cordova-plugin-splashscreen" source="npm" spec="3.2.2" />
<gap:plugin name="cordova-plugin-whitelist" source="npm" />
<gap:plugin name="cordova-plugin-inappbrowser" source="npm" />
<gap:plugin name="onesignal-cordova-plugin" source="npm" spec="2.0.10" />
<gap:plugin name="cc.fovea.cordova.purchase" source="npm" version="6.0.0">
    <param name="BILLING_KEY" value="KEY GOES HERE" />
</gap:plugin>

1 个答案:

答案 0 :(得分:0)

检查config.xml以确保您没有设置AndroidLaunchMode。必须保留默认值singleTop。这可以防止在打开通知时创建第二个Android Activity