2012-08-13 88 views
2

我有一个意图,即当GCM (Google Cloud Messenger)新消息进入时,启动一个显示alert dialog的活动。对话框显示未读消息的数量,但如果在已经显示一条消息之后又有新消息进入,并且没有查看前一条消息,则对话框应该更新未读计数以反映新/未读消息的数量。更新启动活动的意图

但是,如果对话框中的活动处于活动状态,则意图不会更新对话框,因此我怎么能更新它,因为我无法在对话框中调用解除对话框?

如果有新的消息

if((incMsgs + dlMsgs) > 0 && !mMsgType.equals("Reg")){ 
       edit.putBoolean(Preferences.NEW_ALERT, true).commit(); 
       priorityMsgs = true; 
       Intent i = new Intent(this,NotificationDialog.class); 
       i.putExtra("incidents", incMsgs); 
       i.putExtra("dlMessages", dlMsgs); 
       i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
       startActivity(i); 
      } 

回答

3

你将不得不重写活动的OnNewIntent意图。在这个更新中,用户界面元素。对于这个工作,你的活动launchMode必须singleTop

0

我加入这对我的意图解决我的问题:

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP); 

或许这也可以帮助你。