上記の質問は基本的に私の質問を説明しています。Advanced Task Killerはどのようにアプリケーションを強制終了しますか?
私はこの質問に対する秒の答えで言及された方法を試しました。どちらを使用していますActivityManager.killBackgroundProcesses.
for(RunningAppProcessInfo runningProcess : runningProcesses){
for(ApplicationInfo nonCompliantApp : nonCompliantApps){
if(runningProcess.pkgList != null) for(String runningAppPackageName : runningProcess.pkgList){
// if(runningProcess.processName.startsWith("gameapps.avatar.")){
//// FileManager.writeToLogFile(SystemApplicationManager.class, "run", LogMessageType.DEBUG, "Game Apps: " + runningProcess.processName + " pkg: " + runningProcess.pkgList.length + " - " + runningProcess.pkgList[0]);
// }
if(runningAppPackageName.equals(nonCompliantApp.packageName)){
ActivityManager amgr = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
ShellCommandManager.executeShellCommand("kill " + runningProcess.pid);
amgr.killBackgroundProcesses(nonCompliantApp.packageName);
FileManager.writeToLogFile(SystemApplicationManager.class, "run", LogMessageType.DEBUG, "Process found and killed: " + nonCompliantApp.packageName);
}
if(!keepRunning)break;
}
}
問題は、上記のコードを実行した後、[設定]->[アプリ]->[実行中]で確認したところ、同じアプリケーションがまだ実行中であることがわかりました。私がこれをテストしているデバイスは、AndroidICSを実行しているHTCOneXです。
私は何を間違っているのですか?いくつかの助けや説明をいただければ幸いです。