我的代码如下:
package com.example.killall;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
//import android.widget.TextView;
import android.app.ActivityManager;
public class MainKill extends Activity {
private Button BprocessesKill ;
//private TextView processesKill;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_kill);
final ActivityManager am=(ActivityManager) getSystemService("SYSTEM_ACTIVITY");
BprocessesKill=(Button) this.findViewById(R.id.BkillProcesses);
//processesKill=(TextView) this.findViewById(R.id.killProcesses);
BprocessesKill.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
am.killBackgroundProcesses(getPackageName());
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main_kill, menu);
return true;
}
}
我想要做的只是按下按钮并杀死所有后台进程..我对此代码的问题是当我按下按钮时它会向我显示消息:很遗憾KillAll(这是我应用程序的名称)已经停止。我应该改变什么?
答案 0 :(得分:6)
简而言之,任何向您展示如何杀死所有后台进程的人都会对您造成伤害,并且Android社区也会受到损害。
答案 1 :(得分:6)
我使用此代码来杀死我自己的进程(app):
android.os.Process.killProcess(android.os.Process.myPid());
答案 2 :(得分:5)
您可以使用此代码:
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);
}
请记住,杀死应用程序非常危险。如果您不确切知道自己在做什么,请不要使用此代码!