android – 有没有办法为所有可用的操作系统获取当前运行的前台应用程序(包)?

我知道,在这个主题上已经提出了太多问题,但并非所有OS /设备都支持这些问题

>有没有办法获得所有可用操作系统的当前运行前台应用程序(包)?
> AppLock如何工作(如何检测任何应用程序启动)?

我尝试了什么(但失败了)

> How do I detect if an android app is launched? – Google已在Android L中停用
> How to use UsageStatsManager? – android.permission.GET_TASKS被删除.
> How to make my app a device owner? – 无法以编程方式执行此命令.
>?
> Knox Standard SDK

我想要的是

>用户不应该访问黑名单应用程序.我的应用程序应该在黑名单应用程序前启动(与AppLock相同)
>用户只能访问列入白名单的应用.
>我尝试了更多解决方案,但无法获得可在所有可用操作系统/设备中使用的完美解决方案.
>我想以编程方式/免费/为每个设备和操作系统提供解决方案

最佳答案 您可以采用两种可接受的方法,否则您可能会运气不好.

1)使您的应用程序成为“启动器”应用程序.然后,用户将与您的应用进行互动,以便一般性地启动应用.您可能无法跟踪基于通知的发布和其他类型的互动,但我还没有尝试过.

2)让你的应用程序“假装”成为一个启动器应用程序.启动后,它会显示一个启动器类型的屏幕.然后,您必须通过检查您的应用程序是否在后台并将其置于前台(如果是)来处理按“home”的尝试.这不是一件容易的事 – 你可能会有bug等等,但似乎有可能(我只知道确定你的应用程序是否在“后台”)可能会很棘手,因为对话框和通知可以占据前景,但是你不想解雇那些(我假设的大部分时间).

祝好运!

点赞