3

我有一个意图启动一个活动,该活动显示alert dialog新消息何时来自GCM (Google Cloud Messenger)。对话框显示未读消息的数量,但如果在显示一条新消息之后出现新消息并且您尚未查看前一条消息,则对话框应更新未读计数以反映新消息/未读消息的数量。

但是,如果带有对话框的活动处于活动状态,则意图不会更新对话框,那么由于无法在对话框上调用解除,我该如何更新它?

有新消息时的意图

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);
            }
4

2 回答 2

4

您将不得不覆盖活动的OnNewIntent。在此更新中,UI 元素。为此,您的活动启动模式需要为 singleTop

于 2012-08-13T18:42:29.600 回答
1

我已经通过在我的意图中添加这个来解决我的问题:

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

也许这也可以帮助你。

于 2016-02-20T00:06:15.697 回答