获取应用程序单击通知时运行信息

时间:2014-12-15 12:59:17

标签: android android-intent notifications intentfilter android-pendingintent

我正在努力获取推送通知点击的应用程序流程。

我想要的应用程序流是有条件的,具体取决于点击推送通知的时间。

因此,当用户点击推送通知时,我想知道我的应用程序是否已经在运行。

如果是,则在已经运行的应用程序之上仅显示活动A,然后在后退时继续使用之前处于活动状态的同一活动中的旧应用程序。

如果在点击通知时应用程序没有运行,我想显示活动A和onBackPress我想要启动活动B.

我决定的方法是使用启动通知的Intent发送一个额外的参数,但这个额外的参数是有条件的。

如何在应用程序中获得此类流程?

1 个答案:

答案 0 :(得分:1)

您不需要有条件的额外费用。

Simlply从通知中启动活动A.现在,在活动A中添加以下代码:

@Override
public void onBackPressed() {
    // If this activity is the only activity in the task, that means the
    //  app wasn't running when the notification was clicked.
    if (isTaskRoot()) {
        // Start Activity B
        Intent intent = new Intent(this, ActivityB.class);
        startActivity(intent);
        // NOTE: you should call finish() here if you want Activity A to go away now
        // finish();
    } else {
        // Otherwise, just do the normal BACK stuff (ie: finish this Activity and go
        //   back to whatever the user was doing in the app)
        super.onBackPressed();
    }
}