如何在Android中禁用最近活动按钮?

3

我知道之前有人在这里问过同样的问题Block/disable recent apps button,但是那个答案并没有起作用。

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

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

    activityManager.moveTaskToFront(getTaskId(), 0);
}

我在5.1 SDK上使用了这段代码。它可以正常工作,但是同样的程序在6.0设备上无法工作。

我想制作屏幕锁定,但是没有找到任何方法来阻止最近应用程序按钮。


你在清单文件中包含了权限吗? - Nouman Shah
1
我包含了这个权限<uses-permission android:name="android.permission.REORDER_TASKS" /> - user3106818
请检查您的目标SDK版本是否为22或23?为了让您的应用程序在6.0设备上正常工作,您需要将目标SDK版本设置为23。 - Lips_coder
你提供的链接“Block/Disable recent apps button”https://stackoverflow.com/a/31649689/860099 对我有用。 - Kamil Kiełczewski
2个回答

0

对于这个问题的最佳解决方案是,您可以将显示最近应用程序的时间减少到几乎为零,许多应用程序都这样做......而不是试图阻止最近的应用程序按钮,请尽量减少最近应用程序的显示时间...这是一个解决方法,并且应该适合您的需求。


我该如何将显示最近应用程序的时间减少到几乎为零? - user3106818
那很容易,你可以使用线程和设置计时器,在想要显示最近应用程序时触发。 - tanmeet
你也可以使用以下标志来清除最近的应用程序或将您的应用程序置于前台...FLAG_ACTIVITY_NEW_TASK,FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS,FLAG_ACTIVITY_SINGLE_TOP,FLAG_ACTIVITY_REORDER_TO_FRONT,FLAG_ACTIVITY_CLEAR_TOP。您必须确保正确组合这些标志。 - tanmeet

0

我找到了另一种清除最近应用程序的方法。是的,您可以禁用所有硬件按键,您可以在根设备上以及通过它来完成。禁用最近的应用程序的关键将是(KeyEvent.KEYCODE_APP_SWITCH); KEYCODE_APP_SWITCH = 键代码常量:应用程序切换键。应该弹出应用程序切换器对话框。

我会分享一个小的样本代码来帮助你。

List<Integer> currentHdKeys = new ArrayList<Integer>();
if (SharedPref.recentApps())
        {
            currentHdKeys.add(KeyEvent.KEYCODE_APP_SWITCH);
        }

现在只需使用recentapps方法将清除最近使用的应用程序设置为true或false。 如果您喜欢,请给我点赞。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接