FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS排除整个应用程序,而不仅仅是活动

Bin*_*bik 4 android

我有一个启动活动的通知.在长按主页按钮并选择我的应用程序后,我想再次启动我的主要活动,而不是通知启动此活动.我尝试使用FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS,但是从最近的时候删除了我的整个应用程序,这不是我想要实现的.我怎样才能让我的应用程序在最近,但主要活动开始了吗?

问候

Bin*_*bik 12

好的,我找到了解决问题的方法.我从通知开始了一个活动FLAG_ACTIVITY_NEW_TASK.但在我看来,如果亲和力与默认亲和力不同,则此活动仅在自己的任务中启动.所以我不得不在清单中添加不同的亲和力.

并且似乎FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS没有(如文档所述)从最近的活动中删除活动,而是排除活动从最近开始的整个任务(而不是整个应用程序).由于我没有设置不同的亲和力,因此我想要排除的Activity在同一个任务中启动(虽然我已经设置FLAG_ACTIVITY_NEW_TASK),因此我的整个应用程序(因为它只在一个任务中运行)被排除在最新状态之外.

现在,我已经为从Notification启动的Activity设置了不同的亲和力,我开始使用它FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS.当我离开此活动并长按HOME按钮时,我可以选择我的应用程序并启动默认任务或将其带到前面.

如果我上面提到的错了,请随意清理它......

  • 对于今后发现这个问题的人来说,只回答了我自己的问题:在清单中设置`android:taskAffinity ="com.yourpackage.YourActivity"` (2认同)