2

我正在开发一个需要抑制最近应用程序按钮的应用程序,因为它是在幼儿锁定应用程序中完成的。我想要的是用户不应该能够通过按下最近的应用程序按钮退出我的应用程序。

在幼儿锁 ( https://play.google.com/store/apps/details?id=marcone.toddlerlock&hl=en ) 中,每当您按下最近使用的应用程序按钮时,屏幕都会闪烁一点,但应用程序会返回自己的活动。即使我们快速连续多次按下最近使用的应用程序按钮并设法在几毫秒后显示最近使用的应用程序屏幕,应用程序也会返回自己的活动。

我知道一定有一些幕后的服务,但我不能完全弄清楚。

谁能告诉我幼儿锁应用程序如何设法抑制最近的应用程序按钮。我需要在我的应用程序中实现完全相同的行为。

我尝试了以下链接中给出的答案: Altering the result of getRecentTasks

android 拦截最近的应用程序按钮 ,但这些在 Android Lollipop 上不起作用。

如果有办法在我的应用程序中使用主屏幕来做到这一点,请考虑这一点。

4

2 回答 2

9

最后,我能够通过以下方式实现这一目标:

@Override
protected void onPause() {
super.onPause();

ActivityManager activityManager = (ActivityManager) getApplicationContext()
        .getSystemService(Context.ACTIVITY_SERVICE);

activityManager.moveTaskToFront(getTaskId(), 0);

}

将需要许可...

<uses-permission android:name="android.permission.REORDER_TASKS" />
于 2015-06-05T11:32:48.943 回答
1

您必须编写一个服务来持续监控顶级活动。如果顶部活动来自包com.android.systemui意味着用户按下了最近的应用程序按钮。因此,此时您已经维护了应用程序的顶级活动并再次启动了相同的活动。

于 2015-05-28T06:26:42.453 回答