我的通知仅在App打开时有效,为什么?

时间:2015-07-30 15:33:22

标签: java android notifications google-cloud-messaging push

我这里有一个应用程序从GCM接收推送,我将它配置为显示特定的图标和操作,但它只在应用程序打开时发生;当我杀了它或关闭应用程序时,通知显示另一条消息和另一个图标(在服务器端设置一个,用Java表示),我想使用应用程序的代码版本通知

这是onReceive代码:

NotificationManager notificationManager = (NotificationManager) context
                .getSystemService(Context.NOTIFICATION_SERVICE);
        Intent intent = new Intent(context, MainActivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        PendingIntent pendingIntent = PendingIntent.getActivity(context, 0,
                intent, 0);
        Notification.Builder nb = new Notification.Builder(context);
        nb.setContentIntent(pendingIntent);
        nb.setContentTitle("Nova aprovacao cadastrada!");
        nb.setContentText(message.getAlert());
        nb.setSmallIcon(R.drawable.ic_launcher);
        Notification notification = nb.build();     
        notification.flags |= Notification.FLAG_AUTO_CANCEL;        
        notification.defaults |= Notification.DEFAULT_LIGHTS;
        notificationManager.notify(R.drawable.ic_launcher, notification);

ic_launcher是我想要显示的图标,但正如我所说,只适用于打开的应用程序。

在清单中,我说:

  <receiver
            android:name="..."
            android:permission="..." 
            android:exported="true" >

请忽略&#39; ...&#39;。

更新记事

我在这里看了一篇文章,当你关闭应用程序时,BroadcastReceiver继续运行。但在我的情况下,我没有这个课,我不使用它。有一些如何让onReceive在关闭时保持运行状态?

  • 问题:当应用关闭时,通知无法正常发挥作用。
  • 问题:如何仅使用Android代码修复此问题?

谢谢!

0 个答案:

没有答案