当点击通知栏通知进入app指定界面之后,按返回键的时候,我们希望依然停留在应用里面。
假设:通知打开的activity和应用的其他activity在一个栈中。(activity栈???)
这是有两种情况:
一种是点击通知的时候,通知的应用在前台或者后台。当应用在后台的时候,通知打开activity的时候,会自动把应用带到前台。这是按返回键的时候,可以直接关闭掉当前的界面。
另一种是,应用已经完全退出,没有activity在栈中了。这是希望回退到主页。
现在我们遇到的问题是:如何判断我们的应用还有其他的界面没有关闭?
我们可以在当前界面关闭之前,我们可以判断当前运行的task有多少个activity来判断怎么操作。如果当前task只要一个activity,那就在finish当前activity之前打开主页,如果有多个activity,直接关闭当前activity
public static int getRunningTaskActivitiesNum(Context context){
ActivityManager am = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
return am.getRunningTasks(1).get(0).numActivities ;
}