2014-02-18 91 views
0

我有一個要求,我想關閉所有後臺運行的應用程序。我用這個代碼,但它不工作...如何關閉所有後臺活動應用程序?

ActivityManager manager = (ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE); 
    List<ActivityManager.RunningAppProcessInfo> listOfProcesses = manager.getRunningAppProcesses(); 
    for (ActivityManager.RunningAppProcessInfo process : listOfProcesses) 
    { 
     System.out.println(process.processName); 
     manager.killBackgroundProcesses(process.processName); 
    } 

任何幫助嗎?

+0

定義'它不working'。 –

+0

並且您是否在清單中添加了'android.permission.KILL_BACKGROUND_PROCESSES'權限? –

+0

@GopalRao是我添加了權限 –

回答

0

您只能殺死自己的應用程序,例如那些運行在相同進程或具有相同用戶ID的人。除非設備植根,否則你不能殺死其他人。

看一看這個答案。 How to kill currently running task in android

您的問題將得到解決,現在

0

試試這個

List<ApplicationInfo> packages; 
    PackageManager pm; 
    pm = getPackageManager(); 
    // get a list of installed apps. 
    packages = pm.getInstalledApplications(0); 

    ActivityManager mActivityManager = (ActivityManager) context 
      .getSystemService(Context.ACTIVITY_SERVICE); 

    for (ApplicationInfo packageInfo : packages) { 
     if ((packageInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 1) 
      continue; 
     if (packageInfo.packageName.equals("mypackage")) 
      continue; 
     mActivityManager.killBackgroundProcesses(packageInfo.packageName); 
    } 
+0

它不工作Suresh .. 。我在後臺運行mediaplayer並使用你的代碼...它沒有關閉.. –

相關問題