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

问题描述 投票:4回答:1

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

Question

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

What I have tried (but failed)

  1. How do I detect if an android app is launched? - Google已在Android L中停用
  2. qazxsw poi - qazxsw poi已被弃用。
  3. How to use UsageStatsManager? - 无法以编程方式执行此命令。
  4. ?
  5. android.permission.GET_TASKS

What I want

  • 用户不应该访问黑名单的应用程序。我的应用程序应该在黑名单应用程序前启动(与How to make my app a device owner?一样)
  • 用户只能访问列入白名单的应用。
  • 我尝试了更多解决方案,但无法获得可在所有可用操作系统/设备中运行的完美解决方案。
  • 我想以编程方式/免费/为每个设备和操作系统提供解决方案
android mdm
1个回答
1
投票

您可以采用两种可接受的方法,否则您可能会运气不好。

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

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

祝好运!

© www.soinside.com 2019 - 2024. All rights reserved.