我的目的是在alert dialog
收到新邮件时启动显示GCM (Google Cloud Messenger)
的活动。 “对话框”显示未读邮件的数量,但如果在显示一条新邮件之后收到新邮件而您尚未查看上一封邮件,则该对话框应更新未读计数以反映新邮件/未读邮件的数量。
然而,如果对话框的活动处于活动状态,意图不会更新对话框,那么我怎么能更新它,因为我不能在对话框上调用dismiss?
如果有新消息的意图
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);
}
答案 0 :(得分:4)
您必须覆盖活动的OnNewIntent。并在此更新Ui元素。为此,您的活动launchMode需要是singleTop
答案 1 :(得分:0)
我已经通过在我的意图中添加这个来解决我的问题了:
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
也许这对你也有帮助。