当应用程序从任务管理器中清除(删除)时,推送通知不会到来?

时间:2016-10-01 07:41:30

标签: android push-notification google-cloud-messaging android-pendingintent

在我的应用程序中我正在使用推送notification.it工作正常。但是当我从任务管理器中删除(清理)应用程序时,推送通知未到达。我不知道的问题是什么。如果有人知道我怎么解决这个问题。请告诉我。

这是我发送通知的方法: -

private void sendNotification(String msg) {

        mNotificationManager = (NotificationManager) this
                .getSystemService(Context.NOTIFICATION_SERVICE);


        Intent intent = new Intent(this, MainActivity.class);

        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
        Log.e("message.....", msg);


        if (msg.equals("You Have got New Message")) {

            Log.e("msg occuring..", "intent enter in message...");
            intent.putExtra("KEYMESSAGE", "Message");


        } else {

            Log.e("notification occuring..", "notification occurs.....");
            intent.putExtra("KEYNOTIFICATION", "aman");


        }




 PendingIntent  contentIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);

        mBuilder = (NotificationCompat.Builder) new NotificationCompat.Builder(this)
                .setSmallIcon(getNotificationIcon())
                .setContentTitle("Telepoh")
                .setStyle(new NotificationCompat.BigTextStyle().bigText(msg))
                .setContentText(msg)
                .setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE);

        mBuilder.setContentIntent(contentIntent);
        mBuilder.getNotification().flags |= Notification.FLAG_AUTO_CANCEL;
        mBuilder.getNotification().flags |= Notification.FLAG_ONGOING_EVENT;
        mBuilder.setOngoing(false);

        mBuilder.setAutoCancel(true);


        mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build());


    }

我的问题是,当应用程序处于运行状态时,通知正常。但是当应用程序从任务管理器中删除(清除)通知未到达时。如果有人知道问题是什么。请告诉我。

2 个答案:

答案 0 :(得分:0)

替换此行
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);

这一个

intent.addFlags(FLAG_INCLUDE_STOPPED_PACKAGES|Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);

<强>编辑:

根据 Android指南一旦应用程序将被强制关闭,则所有服务,接收器和警报都将被销毁,因此在这种情况下您将不会收到任何通知

答案 1 :(得分:0)

推送通知是从服务器推送到客户端的消息。他们必须在你的应用程序中运行一些服务,以便你可以随时接受你的消息。

在我看来,请使用Firebase云消息传递。有关完整的教程和代码,请参阅以下内容:

https://firebase.google.com/docs/notifications/