当我们按下硬件按钮“最近的应用”时,系统级会发生什么,并在“最近的应用”窗口中删除该应用?在用户级别,应用程序将从列表中删除,如果应用程序已启动该服务,则会丢失应用程序进程并重新启动。
我需要通过软件从本身的应用程序重复此用户操作(从最近的应用程序列表中删除程序),以及所有相关的系统过程。或者通过其他应用程序从列表中删除。
通过Android-manifest(如android:excludeFromRecents)隐藏应用程序是不合适的。
谁可以在这方面提供帮助,请告知解决方案。
答案 0 :(得分:1)
从最近的应用程序列表中删除条目时,您将删除与应用程序进程相关的任务(可包含多个活动)。您可以通过软件执行此操作但是您需要两个权限,只有在您的应用具有系统级权限时才能使用(这不是您的情况,因为只有固件级别的应用可以使用特殊的签名密钥)。查看this response。
答案 1 :(得分:0)
此解决方案可以帮助我:
Android SDK 21的方法是 finishAndRemoveTask ,它解决了这个问题。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
{
finishAndRemoveTask();
} else
{
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN)
{
finishAffinity();
} else
{
finish();
}
}
Process.killProcess(Process.myPid());