从最近应用程序列表中删除 Android 应用程序的软件
Software deleting the Android application from the list of recent applications
当我们按下硬件按钮 "Recent apps" 并在 "recent apps" window 删除应用程序时,系统级别会发生什么?在用户层,应用从列表中移除,如果应用已经启动服务,则丢失应用进程并重新启动。
我需要通过软件从应用程序本身以及所有关联的系统程序中重复此用户操作(从最近的应用程序列表中删除该程序)。或通过其他应用程序从列表中删除。
通过 Android-清单(如 android:excludeFromRecents)隐藏应用程序是不合适的。
谁能帮忙解决这个问题,请指教解决方法
当您从最近的应用程序列表中删除条目时,您将删除与应用进程(可以包含多个活动)相关的任务。您可以通过软件执行此操作,但您需要两个权限,只有当您的应用程序具有系统级权限时才能使用它们(这不是您的情况,因为只有固件级应用程序才能拥有具有特殊签名密钥的权限)。查看 this response。
这个解决方案对我有帮助:
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());
当我们按下硬件按钮 "Recent apps" 并在 "recent apps" window 删除应用程序时,系统级别会发生什么?在用户层,应用从列表中移除,如果应用已经启动服务,则丢失应用进程并重新启动。
我需要通过软件从应用程序本身以及所有关联的系统程序中重复此用户操作(从最近的应用程序列表中删除该程序)。或通过其他应用程序从列表中删除。
通过 Android-清单(如 android:excludeFromRecents)隐藏应用程序是不合适的。
谁能帮忙解决这个问题,请指教解决方法
当您从最近的应用程序列表中删除条目时,您将删除与应用进程(可以包含多个活动)相关的任务。您可以通过软件执行此操作,但您需要两个权限,只有当您的应用程序具有系统级权限时才能使用它们(这不是您的情况,因为只有固件级应用程序才能拥有具有特殊签名密钥的权限)。查看 this response。
这个解决方案对我有帮助:
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());