Android - 如何检测用户何时点击了最近使用的应用程序?

Android - How to detect when user click recent app?

我想为三星平板电脑开发自定义启动器 android,用户只能通过输入密码退出启动器。

目前我在最近的应用程序按钮中遇到问题。如果用户单击最近使用的应用程序按钮,然后单击最近使用的应用程序,然后单击后退,设备将转到 TouchWiz 启动器,即使我已经将启动器设置为默认启动器。另外,我禁用了通知栏,因此用户无法访问它。但是,当它在最近的应用程序中通过反压进入 TouchWiz 时,通知也会禁用,它应该可以在 TouchWiz 启动器中使用。

我建议的解决方案是检测用户何时单击最近的应用程序并禁止任何可能导致当前视图更改的操作。

你可以查看onWindowFocusChanged方法。当您单击最近使用的应用程序或按下后退按钮时,您 Activity 将收到此方法的回调。当您点击最近的应用程序时,hasFocus 将为 false,当您按下返回时,它将为 true。

documentation

我无法检测到最近点击的应用程序。所以我使用 onPause() 来检测我的应用程序是在前台还是后台。如果在 onPause() 中,那么我的应用程序在后台,如果是,我会 startActivity(myLauncher) 这样其他应用程序就不会启动。