【问题标题】:Android- programmatically restrict which apps can be runAndroid-以编程方式限制可以运行的应用程序
【发布时间】:2016-12-22 18:20:38
【问题描述】:

我正在构建一个需要限制哪些应用可以与其一起运行的应用。

例如,当我的应用程序正在运行(前台或后台)时,我可以允许用户仅运行 GoogleMaps 和 MusicPlayer。

我读过一些关于Device Policy Controller 和创建配置文件的信息,在某种程度上,它似乎具有我需要的功能,但它是为企业部署而设计的,用户需要事先加密他们的手机。创建个性化配置文件是否可行?

我的另一个想法是运行一个服务,每隔几毫秒检查是否有任何被禁止的应用程序正在运行并完成它,但它似乎并不健壮。

有没有办法以编程方式处理这个问题?

【问题讨论】:

  • 有几种方法可以做到这一点;例如您可以使用辅助功能服务在其他应用程序之前启动您的应用程序。但是用例是什么?

标签: android device-policy-manager


【解决方案1】:

我认为 Device Policy Controller 不适合您。 而且你不能在没有 root 的情况下杀死其他应用程序。

因此,实现目标的某种用户友好方式是使用ActivityManager.getRunningAppProcesses 检查正在运行的应用程序列表,并通知用户他必须完成特定应用程序才能使用您的应用程序。

【讨论】:

  • 感谢您的回答。我想在启动我的应用程序时会没问题,但我需要更多。我必须防止我的应用程序正在运行,然后用户尝试启动其中一个被禁止的应用程序。有没有办法做到这一点?在平板电脑上,有一些用户配置文件“隐藏”了不允许的应用程序——这是我想要获得的效果。这样的事情可以在任何移动设备上完成吗?可以通过应用程序完成吗?
  • 看来没有别的办法了。但在 Android 5.0+ 上,您必须使用 UsageStatsManager 而不是 ActivityManager
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-01-29
  • 1970-01-01
  • 2012-11-12
  • 2011-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多