Show push notifications when application open/closed in different way

后端 未结 2 1617
清歌不尽
清歌不尽 2021-01-14 01:26

In my app I\'ve a several Activities that inherit from one BaseActivity.
My application receive push notification with GCMBaseIntentService
I need to

2条回答
  •  别那么骄傲
    2021-01-14 02:15

    You can check whether application is in background or foreground using this code :

        public String isApplicationSentToBackground(final Context context) {
        ActivityManager am = (ActivityManager) context
                .getSystemService(Context.ACTIVITY_SERVICE);
        List tasks = am.getRunningTasks(1);
        if (!tasks.isEmpty()) {
            ComponentName topActivity = tasks.get(0).topActivity;
            if (!topActivity.getPackageName().equals(context.getPackageName())) {
                return "false";
            }
        }
    
        return "true";
    }
    

    If it returns "true" then show notification else show dialog box.

    When I debug the context.getPackageManager().queryBroadcastReceivers(pushReceivedIntent, 0).size() always equals to 0.

    For this don't pass 0 in notify().Instead pass "Calendar.getInstance().getTimeInMillis()" value.This will show all the notifications based on time.

    Hope this will help you.

提交回复
热议问题