从通知栏进入应用中的某一页面,回退事件的处理

当点击通知栏通知进入app指定界面以后,按返回键的时候,咱们但愿依然停留在应用里面。html

假设:通知打开的activity和应用的其余activity在一个栈中。(activity栈???)app

这是有两种状况:code

         一种是点击通知的时候,通知的应用在前台或者后台。当应用在后台的时候,通知打开activity的时候,会自动把应用带到前台。这是按返回键的时候,能够直接关闭掉当前的界面。htm

         另外一种是,应用已经彻底退出,没有activity在栈中了。这是但愿回退到主页。get

如今咱们遇到的问题是:如何判断咱们的应用还有其余的界面没有关闭?it

        咱们能够在当前界面关闭以前,咱们能够判断当前运行的task有多少个activity来判断怎么操做。若是当前task只要一个activity,那就在finish当前activity以前打开主页,若是有多个activity,直接关闭当前activityclass

public static int getRunningTaskActivitiesNum(Context context){
		 ActivityManager am = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
		 return am.getRunningTasks(1).get(0).numActivities ;
	}