我有一个简单的启动器,可以列出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);
}
});
答案 0 :(得分:0)
在开始下一个应用程序的活动之前,你想要杀死之前打开的应用程序的原因背后的更多背景将有所帮助。如果我理解正确,它总是只有一个应用程序可以杀死,因为只有一个应用程序永远都会运行,对吧?
如果您不需要完全终止应用,那么暂停所有包setPackagesSuspended(如果您正在运行API 24或更高版本)将会更加优雅,除了选定的一个当然还有你的发射器。暂停的包将无法启动活动。它的通知将被隐藏,它不会显示在最近,将无法显示祝酒词或对话框或响铃设备。如果您担心资源问题,您是否有理由相信Android可以在需要时管理资源并终止进程?