0

在我的应用程序中,我正在使用Notification. 当用户单击此通知时,会启动我的应用程序(如果它未运行)或显示对话框。在我做检查的活动中

    intent = getIntent();
    if (intent.getExtras() != null) {
        mPrice = getIntent().getExtras().getString("price");
        showDialog(mPrice);
    }

一切正常,除了当我的活动通过通知启动时,每次当我使用后退按钮退出应用程序并再次启动应用程序时,它都会向我显示对话框。我曾尝试使用删除此附加功能,getIntent().getExtras().remove("price")但它不起作用。如何解决此问题,如果单击通知,该对话框仅显示一次?

4

2 回答 2

1

getExtras 创建额外内容的副本。

你需要使用

getIntent().removeExtra("price");
于 2013-05-15T12:02:59.150 回答
-1

检查getString实际是否返回了一个值,如下所示:

intent = getIntent();
if (intent.getExtras() != null) {
    mPrice = getIntent().getExtras().getString("price");
    if (mPrice != null) showDialog(mPrice);
}
于 2013-05-15T12:01:35.840 回答