使用Intent的Android启动活动

时间:2013-05-15 11:58:19

标签: android android-intent notifications

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

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

一切都运行良好,除非我的活动是通过通知启动的,每当我使用后退按钮从应用程序退出并再次启动应用程序时它会显示对话框。我尝试使用getIntent().getExtras().remove("price")删除此附加功能,但它不起作用。如何解决这个问题,如果点击通知,该对话框只显示一次?

2 个答案:

答案 0 :(得分:1)

getExtras创建附加内容的副本。

您需要使用

getIntent().removeExtra("price");

答案 1 :(得分:-1)

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

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