admin 管理员组

文章数量: 1184232


2024年4月13日发(作者:c语言switch判断字符)

Android 杀掉自己进程的方法

ocess(());

代码如下

protected void quit()

{

int size = tyStackCount();

for(int i =size-1 ; i > 0 ;i--)

{

Activity activity = kActivity().get(i);

ivity(activity);

}

activityManager = null;

getActivity().finish();

//目前最为通用的 关闭进程的方法以后的版本使用

Intent startMain = new Intent(_MAIN);

egory(RY_HOME);

gs(_ACTIVITY_NEW_TASK);

startActivity(startMain);

ocess(());

}

ocess();只能杀死自己所创建的进程,

其它进程是杀不掉的,要用到另外一个方法

ckgroundProcesses(processName);,同是权限也要加上

android:name="_BACKGROUND_PROCESSES" />

以下是我的测试代码

public class ListViewActivity extends Activity {

/** Called when the activity is first created. */

private Button button;

@Override

public void onCreate(Bundle savedInstanceState) {

te(savedInstanceState);

setContentView();

button = (Button) findViewById();

lickListener(new OnClickListener() {

@Override

public void onClick(View v) {

killAll(getApplicationContext());

}

});

}

public static void killAll(Context context) {

//获取一个ActivityManager 对象

ActivityManager activityManager = (ActivityManager) context

.getSystemService(TY_SERVICE);

//获取系统中所有正在运行的进程

List appProcessInfos = activityManager

.getRunningAppProcesses();

//获取当前activity所在的进程

String currentProcess=licationInfo().processName;

//对系统中所有正在运行的进程进行迭代,如果进程名不是当前进程,则Kill掉

for (RunningAppProcessInfo appProcessInfo : appProcessInfos) {

String processName=sName;

if (!(currentProcess)) {

n("ApplicationInfo-->"+processName);

ckgroundProcesses(processName);

n("Killed

-->PID:"++"--ProcessName:"+processName);

}

}

}

}


本文标签: 进程 方法 语言 运行 权限