我正在编写一个应用程序来管理对其他应用程序的访问。用户可以决定他想在设备上阻止哪个应用程序,如果有人启动被阻止的应用程序,他会看到屏幕通知他有关封锁。我有自己的启动器和后台进程,用于检查当前打开的活动是否被阻止。要检查顶级活动,我使用来自 ActivityManager getRunningTasks(); 的包和类名;如果此应用程序被阻止,我会通过将其添加到 WindowManager 来用我自己的视图覆盖它。这适用于每个应用程序,除了它也使用 WindowManager,如 Facebook 聊天头或 LG - QSLIDE 带来的多任务处理。此应用程序不在顶部。当然,我可以使用 getRunningAppProcesses 找到她的进程,但我无法杀死它。Android.os.Process.killprocess 也不起作用。我知道这不是一个好主意,但我没有其他的。
是否有可能识别出某些应用程序向 WindowManager 添加了某些内容并最终阻止它?或者只是删除视图或终止应用程序?