JPinios
JPinios

Reputation: 573

Ionic Background to Foreground using Local Notification

First sorry for my bad English.

I'm new on Ionic and I'm trying to pass my app from background to foreground when local notification trigger. I'm using the Katzer API (https://github.com/katzer/cordova-plugin-local-notifications), and I want to show a view (skype style incoming call) for stop or postpone a notification. This example works ok, but I need a method or something in order to show the postpone screen even when the screen is locked.

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

Thanks in advance.

Upvotes: 0

Views: 1835

Answers (2)

JPinios
JPinios

Reputation: 573

After more deeper researching I managed to do it, so I'll answer to myself and leave it here for anybody who needs it.

If you want to show your application in foreground when the notification is triggered you should modify the AbstractTriggerReceiver.java

I added this method in 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);
    }

So in your TriggerReceiver.java you can call launchApp(); in your onTrigger() method.

Upvotes: 1

lifeisfoo
lifeisfoo

Reputation: 16344

There isn't an easy solution for this, since you need to work mainly in the native layer.

E.g. In Android you should create an activity visible over the default lock screen, show it when the notification is triggered and start the Cordova activity on a button click.

Upvotes: 0

Related Questions