Android - 如何打开推送通知深层链接意图,当关闭时,返回到主屏幕?

Jon*_*Jon 6 notifications history android android-pendingintent

我创建了一个接收器来接收和显示推送通知 - 当用户按下推送通知时,它会在我的应用程序中打开一个深层链接.问题是,当用户按下"后退"时,他不会退回到主屏幕,而是在应用程序Backstack之前进入我的应用程序打开的任何屏幕 - 即使应用程序在他按下之前被最小化通知.

我需要的行为是让用户在主屏幕上,让他打开通知面板,按下我的通知,进入我的应用程序的深层链接页面,当他按下后退按钮时 - 我想要他再次退出到主屏幕.我不希望他以任何方式与主要应用程序的后台交互.

我在推送通知中尝试了pendingIntent的多种标志组合.一切从FLAG_ACTIVITY_TASK_ON_HOME到FLAG_ACTIVITY_NEW_TASK到FLAG_ACTIVITY_SINGLE_TOP等等.没有任何组合似乎能给我我想要的东西 - 在每一个案例中,打开与应用程序最小化的深层链接将始终返回到应用程序历史记录中的下一页后退按钮.我怎么解决这个问题?

示例代码:

        Intent notificationIntent = new Intent(this, DeepLink.class);
    notificationIntent.setData(Uri.parse(url));
    notificationIntent.addFlags(Intent.FLAG_ACTIVITY_TASK_ON_HOME);
    notificationIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    PendingIntent pendingIntent = PendingIntent.getActivity(getBaseContext(), 1,       notificationIntent, 0);
Run Code Online (Sandbox Code Playgroud)

Jon*_*Jon 1

解决了。深度链接类正在为每个深度链接启动一个意图,这要求我为每个深度链接设置标志 NEW_TASK 和 CLEAR_TASK。之后 - 一切正常。