\frameworks\base\packages\SystemUI\src\com\android\systemui\recent\RecentsPanelView.java

 

public voiddeleteAllRecent(){

        final ActivityManager am = (ActivityManager)

                mContext.getSystemService(Context.ACTIVITY_SERVICE);

                       if (am != null) {     

                           for(TaskDescription recent :mRecentTaskDescriptions){

                                  am.removeTask(recent.persistentTaskId,ActivityManager.REMOVE_TASK_KILL_PROCESS);

                           }

                       }

   if(mRecentTaskDescriptions!=null){

                             mRecentTaskDescriptions.clear();

                                   if (mRecentTasksLoader.getLoadedTasks() !=null){

                                          mRecentTasksLoader.getLoadedTasks().clear();

                                   }

                                 dismissAndGoBack();

                               }

    }

   

   public static void delAllRecentTask(Contextcontext){

               Log.i("zhangliang=>1","delAllRecentTask");

         final ActivityManager am =(ActivityManager)

                context.getSystemService(Context.ACTIVITY_SERVICE);

        if(mRecentTaskDescriptions==null){

   

                           mRecentTaskDescriptions = new  ArrayList();

                           mRecentTaskDescriptions=getTaskInRecentList(context);

                          }


    

                       for(TaskDescription recent :mRecentTaskDescriptions){

                 

if(!recent.packageName.toString().equals("com.snowfish.aios.launcher")&&!recent.packageName.toString().equals("com.jeejen.family")){

                                                am.removeTask(recent.persistentTaskId,ActivityManager.REMOVE_TASK_KILL_PROCESS);

                                                }

                           } 

 if(mRecentTaskDescriptions!=null){

                           mRecentTaskDescriptions.clear();

                    

                           if(RecentTasksLoader.getInstance(context).getLoadedTasks()!= null){

                                          RecentTasksLoader.getInstance(context).getLoadedTasks().clear();

                                   }

                        }

                       // dismissActivityGoBack(context);            

}

//自定一个一个广播通知去清除所有的Task

frameworks\base\packages\SystemUI\src\com\android\systemui\recent\DeleteTaskReceiver.java

public classDeleteTaskReceiver extends BroadcastReceiver {

    @Override

    public void onReceive(Context context,Intent intent) {

    if("CLEAR_ALL_TASK".equals(intent.getAction())){

                 RecentsPanelView.delAllRecentTask(context);

}

通过发送上面那个广播过去即可

更多相关文章

  1. android全屏显示
  2. Android(安卓)禁止转屏的方法
  3. android中广播接收者BroadcastReceiver
  4. 【Android开发】Toolbar与标题居中
  5. Android(安卓)融云SDK 集成
  6. 另一个更简单的Android应用程序全屏的方法
  7. 另一个更简单的Android应用程序全屏的方法
  8. Android(安卓)BroadcastReceiver 简介
  9. android Standard Broadcast Actions 的对比和锁屏前后的测试

随机推荐

  1. android camera preview方向
  2. Android创建文件夹及文件并写入数据
  3. Android(安卓)杀掉自己进程的方法
  4. android按键 禁用
  5. Android(安卓)调用shell命令打印
  6. android 混淆打包后 Gson拿到的实体类转
  7. Android图片旋转,缩放,移位,倾斜,对称
  8. android 判断是否有可用网络
  9. 《android用SAX解析xml》
  10. android利用ZXing进行条码扫描二维码扫描