2017-04-14 78 views
0

我試圖找到方法如何殺死當前任務在Android棉花糖我已經有兩種方法,但都在Android 4.0.3和Android 5.0.1工作正常,但當我在安卓6.0.1想她不工作的任何想法解決這個問題,如何殺死當前正在運行的任務在Android Marshmallow

List<ApplicationInfo> packages; 
      PackageManager pm; 
      pm = getPackageManager(); 
      //get a list of installed apps. 
      packages = pm.getInstalledApplications(0); 
      ActivityManager mActivityManager = (ActivityManager)getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE); 
      String myPackage = getApplicationContext().getPackageName(); 
      for (ApplicationInfo packageInfo : packages) { 
       if((packageInfo.flags & ApplicationInfo.FLAG_SYSTEM)==1)continue; 
       if(packageInfo.packageName.equals(myPackage)) continue; 
       mActivityManager.killBackgroundProcesses(packageInfo.packageName); 
      } 

而且這種方法:

ActivityManager am = (ActivityManager) getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE); 
      for (ActivityManager.RunningAppProcessInfo pid : am.getRunningAppProcesses()) { 
       am.killBackgroundProcesses(pid.processName); 
      } 

回答

0

嘗試在你的第二個方法用這個。

android.os.Process.killProcess(pid); 

殺死與所述給定PID的過程。請注意,雖然此API允許我們根據其PID來請求終止任何進程,但內核仍會對您確實能夠殺死的PID施加標準限制。通常這意味着只有運行調用者的程序包/應用程序以及由該應用程序創建的任何其他進程的進程;共享一個通用UID的軟件包也能夠殺死對方的進程。 使用

android.os.Process.myPid(); 
+0

感謝答覆從here

我還建議讓您的應用程序ID兩者,你能解釋更多 –

+0

與描述編輯 –

相關問題