Android开发退出程序的方法汇总

2019-12-10 18:54:14丽君

该方法的原型:

public void killBackgroundProcesses (String packageName)仅有一个参数为package Name,使用方法比较简单。

ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
am.killBackgroundProcesses("cn.com.android123.cwj");// API Level至少为8才能使用
//必须在androidmanifest.xml文件中加入KILL_BACKGROUND_PROCESSES这个权限。

所以要用此方法最好加个判断如果是2.2之前的rom就用restartPackage,之后的就用killBackgroundProcesses。

ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
if(android.os.Build.VERSION.SDK_INT < 8){
am.restartPackage(getPackageName());
}else{
am.killBackgroundProcesses(getPackageName());

参考:

4. 根据Activity的声明周期

  我们知道Android的窗口类提供了历史栈,我们可以通过stack的原理来巧妙的实现,这里我们在A窗口打开B窗口时在Intent中直接加入标志Intent.FLAG_ACTIVITY_CLEAR_TOP,这样开启B时将会清除该进程空间的所有Activity。

  在A窗口中使用下面的代码调用B窗口

Intent intent = new Intent();
  intent.setClass(Android123.this, CWJ.class);
  intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); //注意本行的FLAG设置
  startActivity(intent);