接收通知推送时,活动保持打开并加倍

时间:2014-12-13 06:13:07

标签: android android-activity push-notification broadcastreceiver

我在Android中的推送通知存在问题。

这是,我有一个有2个活动的应用程序,第一个是菜单,另一个是我显示地图。

在应用中使用通知推送地图中的更改。现在,当在屏幕上显示地图的活动并按下移动设备中的主页按钮时,相信是在后台。

现在应用程序收到通知,打开通知并加载菜单活动ok,更新地图数据并显示地图活动,但返回菜单并按后退按钮退出应用程序并关闭活动,但显示背景中的另一个地图活动。这不是很接近。我能做什么???

请帮帮我!!!

收到通知时的代码消息是:

@Override
   protected void onMessage(Context context, Intent intent){
      // Notificacion recibida: informamos al usuario
       String message = "Notificación Recibida";
       //"Id: " + intent.getExtras().getString("id") + " Status: " + intent.getExtras().getString("status");
       //Se crea un nuevo manejador de notificaciones
       NotificationManager manejadorNotificaciones = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

       //Se construye una notificacion basica
       NotificationCompat.Builder notificacionPersonalizacion = new NotificationCompat.Builder(this).
       setSmallIcon(drawable.ic_launcher).setContentTitle("Aviso SAT").setContentText(message);
       Uri alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);              
       Intent intentoMapaPush =  new Intent(this, MenuPrincipal.class);       
       intentoMapaPush.putExtra("Push", "push");   
       PendingIntent contIntent = PendingIntent.getActivity(this, 0, intentoMapaPush, 0);
       notificacionPersonalizacion.setContentIntent(contIntent);
       notificacionPersonalizacion.setSound(alarmSound);
       notificacionPersonalizacion.setAutoCancel(true);
       Notification notificacion = notificacionPersonalizacion.build();
       notificacion.flags= Notification.FLAG_AUTO_CANCEL;       
       manejadorNotificaciones.notify(NOTIF_ALERTA_ID, notificacion);
   }

1 个答案:

答案 0 :(得分:1)

您正在启动关于通知点击的新活动。您必须撤消通知中的旧暂停活动,您的问题才能解决。 清单文件中的活动声明中的Use android:launchMode="singleInstance"

一旦这样做并告诉我。