如何关闭其他活动?

时间:2015-11-13 16:03:56

标签: java android android-intent android-activity android-studio

我想创建一个应用来测试其他应用(连接,时间,性能)。 我可以用以下代码打开其他活动:

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(new ComponentName("com.asdf", "com.asdf.MainActivity"));
startActivity(intent);

但是我想在一段时间后自动关闭它。

我试过了:

am.killBackgroundProcesses("com.asdf.MainActivity");

ActivityManager am = (ActivityManager) getSystemService(Activity.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> rp = am.getRunningAppProcesses();
ActivityManager.RunningAppProcessInfo process = null;
for(int i=0; i<rp.size(); i++){
    if(rp.get(i).processName.equals("com.asdf")){
        process = rp.get(i);
        break;
    }
}
if(process!=null) {
    android.os.Process.killProcess(process.pid);
}

是否可以这样做?
它需要额外的权限吗?

1 个答案:

答案 0 :(得分:0)

最简单的方法是将以下标志添加到Intent:

intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);

顺便说一下,我得到的是来自this question的信息。最重要的答案是对这种做事方式的更详细的描述,以及另一种方法,如果这对你不起作用。