2016-04-20 9 views
0

最近のタスクを削除するアプリケーションを設計しています。そして私は、最近のタスクを削除するために、このコードは、最近のアプリケーションをアンドロイドでプログラムで閉じる方法

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

try 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); 
} 

を、あなたは宣言する必要がありマネージャー:のonCreate()内

private ActivityManager manager; 

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

ありがとう..しかし、このコードはバックグラウンドプロセスを殺すためのものです...最近のアプリを閉じるためのコードが必要です。 –

関連する問題