android清除指定堆栈中某个activity

来源:互联网 发布:阿里云服务器默认端口 编辑:程序博客网 时间:2024/06/05 15:36

这个办法不太建议使用,毕竟原生的android会对这类资源按照特定的状况进行回收等。

private void killActivity(Activity context){

ActivityManager manager = (ActivityManager)context.getSystemService(ACTIVITY_SERVICE) ;
List<RunningTaskInfo> runningTaskInfos = manager.getRunningTasks(2) ;
if(runningTaskInfos != null){
try {
           Method forceStopPackage = manager.getClass().getDeclaredMethod("forceStopPackage", String.class);  
           forceStopPackage.setAccessible(true);  
           forceStopPackage.invoke(manager, (runningTaskInfos.get(1).topActivity).getPackageName());
       }
       catch (Exception e) {
       }
}

}

这里是对栈顶的第二个进行回收。。。请自行理解

0 0