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

时间:2018-01-02 09:53:24

标签: android mdm

我知道,关于此主题已经提出了太多问题,但并非所有操作系统/设备都支持

问题

  1. 有没有办法让当前正在运行的前台应用程序(包)用于所有可用的操作系统
  2. AppLock的工作原理(如何检测任何应用启动)?
  3. 我尝试过(但失败了)

    1. How do I detect if an android app is launched? - Google已在Android L中停用。
    2. How to use UsageStatsManager? - android.permission.GET_TASKS已被删除。
    3. How to make my app a device owner? - 无法以编程方式执行此命令。
    4. Knox Standard SDK
    5. 我想要什么

      • 用户无法访问黑名单应用。我的应用应该在黑名单应用之前启动(AppLock相同
      • 用户只能访问列入白名单的应用。
      • 我尝试了更多解决方案,但无法获得适用于所有可用操作系统/设备的完美解决方案。
      • 我希望以编程方式/免费/为每个设备和操作系统提供解决方案

1 个答案:

答案 0 :(得分:1)

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

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

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

祝你好运!