Android- 以编程方式限制哪些应用可以 运行

Android- programmatically restrict which apps can be run

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

例如,当我的应用 运行ning(前景或背景)时,我可以允许用户 运行 仅使用 GoogleMaps 和 MusicPlayer。

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

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

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

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

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