\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 状态栏通知Notification
  4. android 通知Notification的使用小实例(振动,灯光,声音)
  5. Android 本地推送消息到通知栏 NotificationManager 、注册Andro
  6. 拦截短信,不让系统发通知
  7. Android Wear Preview- 归档通知(Stacking Notifications)
  8. android:versionCode和android:versionName 用途(转) App自动更

随机推荐

  1. 播放音乐时的状态条使用
  2. Android AD Manifest
  3. Android(安卓)中的 values XML
  4. 分享:Android程序员,必备精品网站大汇总
  5. android打开关闭屏幕
  6. ionic emulate android log
  7. Android中ListVIew高度自适应,解决ScrollV
  8. cordova入门教程(五)给android apk签名
  9. Android ProgressBar 几乎全部的用法
  10. Android 记录开发中的一些问题