我正在开发一个需要取消最近的应用按钮的应用程序,因为它在Toddler Lock应用程序中完成。我想要的是用户不应该通过按最近的应用程序按钮退出我的应用程序。
在幼儿锁(https://play.google.com/store/apps/details?id=marcone.toddlerlock&hl=en)中,每当您按下最近的应用按钮时,屏幕会闪烁一些,但应用会返回自己的活动。即使我们快速连续多次按下最近的应用按钮,并设法在几毫秒后显示最近的应用屏幕,应用程序将返回其自己的活动。
我知道必须有一些幕后服务,但我无法弄明白。
任何人都可以告诉我Toddler Lock应用程序如何设法禁止最近的应用程序按钮。我需要在我的应用程序中实现完全相同的行为。
我尝试了以下链接中给出的答案: Altering the result of getRecentTasks
和android intercept recent apps button 但这些在Android Lollipop上不起作用。
如果有办法在我的应用程序中使用主屏幕,请考虑这一点。
答案 0 :(得分:8)
最后,我通过以下方式实现了这一目标:
@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" />
答案 1 :(得分:1)
您必须编写一项服务,以持续监控最高活动。如果顶级活动来自包com.android.systemui
,则意味着用户按下了最近的应用按钮。因此,此时您已经保留了应用程序中的顶级活动,并再次启动相同的活动。