使用本地通知的前景的离子背景

时间:2015-09-01 18:25:05

标签: angularjs cordova mobile ionic ngcordova

首先抱歉我的英语不好。

我是Ionic的新手,我尝试在本地通知触发时将我的应用从背景传递到前台。我使用了Katzer API(https://github.com/katzer/cordova-plugin-local-notifications),我希望显示一个停止或推迟通知的视图(Skype样式的来电)。这个例子工作正常,但我需要一个方法或某些东西才能显示推迟屏幕,即使屏幕被锁定。

   cordova.plugins.notification.local.on('trigger', function (notification) {
            alert("triggered");
   }

提前致谢。

2 个答案:

答案 0 :(得分:1)

经过更深入的研究后,我设法做到了,所以我会自己回答并留在这里给任何需要它的人。

如果要在触发通知时在前台显示应用程序,则应修改AbstractTriggerReceiver.java

我在AbstractTriggerReceiver.java中添加了这个方法:

public void launchApp() {
        Context context = getContextForApp();
        String pkgName  = context.getPackageName();

        Intent intent = context
                .getPackageManager()
                .getLaunchIntentForPackage(pkgName);

        intent.addFlags(
                Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_SINGLE_TOP);

        context.startActivity(intent);
    }

因此,在TriggerReceiver.java中,您可以调用launchApp();在你的onTrigger()方法中。

答案 1 :(得分:0)

对此没有简单的解决方案,因为您需要主要在本机层中工作。

E.g。在Android中,您应该创建一个可见的活动over the default lock screen,在触发通知时显示该活动,并在点击按钮时启动Cordova活动。