当我们按下硬件按钮“最近的应用程序”并在“最近的应用程序”窗口删除应用程序时,系统级别会发生什么?在用户级别,应用程序从列表中删除,如果应用程序已启动服务,它会丢失应用程序进程并重新启动。
我需要通过软件本身的应用程序重复此用户操作(从最近的应用程序列表中删除程序),以及所有相关的系统过程。或由另一个应用程序从列表中删除。
通过 Android 清单(如 android:excludeFromRecents)隐藏应用程序是不合适的。
谁能帮助解决这个问题,请告知解决方案。
当我们按下硬件按钮“最近的应用程序”并在“最近的应用程序”窗口删除应用程序时,系统级别会发生什么?在用户级别,应用程序从列表中删除,如果应用程序已启动服务,它会丢失应用程序进程并重新启动。
我需要通过软件本身的应用程序重复此用户操作(从最近的应用程序列表中删除程序),以及所有相关的系统过程。或由另一个应用程序从列表中删除。
通过 Android 清单(如 android:excludeFromRecents)隐藏应用程序是不合适的。
谁能帮助解决这个问题,请告知解决方案。
从最近的应用程序列表中删除条目时,您正在删除与应用程序进程相关的任务(可以包含多个活动)。您可以通过软件执行此操作,但您需要两个权限,只有在您的应用程序具有系统级权限时才能使用(这不是您的情况,因为只有固件级应用程序才能使用特殊的签名密钥)。看看这个回应。
该解决方案可以帮助我:
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());