创建杀死所有以前打开的应用程序的启动器

时间:2017-05-29 09:46:23

标签: android android-launcher device-policy-manager device-owner

我有一个简单的启动器,可以列出listview中的所有应用。我只想在这个发射器中使用一个功能;当点击列表视图中的某个项目(比如第5项)时,我想完全杀死所有以前打开的应用程序,然后打开那里登记的第5个应用程序。我不知道应该寻找什么。我有启动器应用程序作为设备管理员和设备所有者,我认为它与DevicePolicyManager类有关。我也尝试过finishActivity(int requestcode),但它没有用。下面是onItemClick()侦听器:

list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> av, View v, int pos,long id) {
                Intent i = manager.getLaunchIntentForPackage(apps.get(pos).name.toString());
                AppsListActivity.this.startActivity(i);

            }
        });

1 个答案:

答案 0 :(得分:0)

在开始下一个应用程序的活动之前,你想要杀死之前打开的应用程序的原因背后的更多背景将有所帮助。如果我理解正确,它总是只有一个应用程序可以杀死,因为只有一个应用程序永远都会运行,对吧?

如果您不需要完全终止应用,那么暂停所有包setPackagesSuspended(如果您正在运行API 24或更高版本)将会更加优雅,除了选定的一个当然还有你的发射器。暂停的包将无法启动活动。它的通知将被隐藏,它不会显示在最近,将无法显示祝酒词或对话框或响铃设备。如果您担心资源问题,您是否有理由相信Android可以在需要时管理资源并终止进程?