【问题标题】:Software deleting the Android application from the list of recent applications从最近应用程序列表中删除 Android 应用程序的软件
【发布时间】:2016-07-22 15:12:29
【问题描述】:
当我们按下硬件按钮“最近的应用程序”,在“最近的应用程序”窗口删除应用程序时,系统级别会发生什么?在用户级别,应用程序被从列表中删除,如果应用程序已经启动了服务,它会丢失应用程序进程并重新启动。
我需要通过软件从其自身的应用程序中重复此用户操作(从最近的应用程序列表中删除该程序)以及所有相关的系统过程。或由其他应用程序从列表中删除。
通过 Android-manifest(如 android:excludeFromRecents)隐藏应用程序是不合适的。
谁能帮忙解决这个问题,请指教。
【问题讨论】:
标签:
android
process
android-service
kill
android-recents
【解决方案1】:
当您从最近的应用程序列表中删除条目时,您正在删除与应用程序进程相关的任务(可以包含多个活动)。您可以通过软件执行此操作,但您需要两个权限,只有在您的应用程序具有系统级权限时才能使用(这不是您的情况,因为只有固件级应用程序才能使用特殊的签名密钥)。查看this response。
【解决方案2】:
这个解决方案对我有帮助:
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());