2016-04-20 74 views
0

我正在设计一个应用程序来删除最近的任务。我使用Google移除近期任务这个代码,如何通过我的应用程序以编程方式关闭所有最近的应用程序android

public boolean removeTask(int taskId, int flags) { 
    try { 
     return (Boolean) mRemoveTask.invoke(mActivityManager, Integer.valueOf(taskId), Integer.valueOf(flags)); 
    } catch (Exception ex) { 
     Log.i("MyActivityManager", "Task removal failed", ex); 
    } 
    return false; 
} 

public void clearRecentTasks() { 
    List<ActivityManager.RecentTaskInfo> recents = mActivityManager.getRecentTasks(1000, ActivityManager.RECENT_IGNORE_UNAVAILABLE); 
    // Start from 1, since we don't want to kill ourselves! 
    for(int i=1; i < recents.size(); i++) { 
     removeTask(recents.get(i).persistentId, 0); 
    } 
} 
+0

尝试http://stackoverflow.com/questions/7397668/how-to-kill-a ll-running-applications-in-android –

+0

@Nirav Ranpara谢谢但是这段代码是为了杀死进程不是为了关闭应用程序。不工作,请建议我回答关闭最近的应用程序。 –

回答

0

Chaeck这一个:

private void killRunningApps(final Context context) { 
    this.timer.scheduleAtFixedRate(new TimerTask() { 
     @Override 
     public void run() { 
      List<String> packages = InstalledApps.getRunning(context); 
      assert packages != null; 
      for (String packageName : packages) { 
       AppInfo info = InstalledApps.getAppInfo(packageName, context); 
       assert info != null; 
       if ((info.getFlag() & ApplicationInfo.FLAG_SYSTEM) == 1) continue; 
       manager.killBackgroundProcesses(packageName); 
      } 
     } 
    }, 0, this.updateInterval); 
} 

首先,你必须声明经理:

private ActivityManager manager; 
中的onCreate()

this.manager = (ActivityManager) this.getSystemService(Context.ACTIVITY_SERVICE); 
+0

谢谢..但这个代码是为了杀死后台进程...我需要关闭最近的应用程序的代码。 –

相关问题