我正在编写一个管理对其他应用程序的访问的应用程序。用户可以决定他想在设备上阻止哪个应用程序,如果有人启动被阻止的应用程序,他会看到屏幕通知他有关封锁。我有自己的启动器和后台进程,用于检查当前打开的 Activity 是否被阻止。为了检查顶级 Activity ,我使用 ActivityManager getRunningTasks(); 中的包和类名;如果这个应用程序被阻止,我会通过将它添加到 WindowManager 来用我自己的 View 覆盖它。这适用于每个应用程序,除了它还使用 WindowManager,如 Facebook 聊天头或 LG - QSLIDE 带来的多任务处理。此应用程序不在顶部。当然,我可以使用 getRunningAppProcesses 找到她的进程,但我无法杀死它。 Android.os.Process.killprocess 也不起作用。我知道这不是一个好主意,但我没有其他的。
是否有可能识别出某些应用程序向 WindowManager 添加了某些内容并最终阻止了它?或者只是删除查看或终止应用程序?
最佳答案
Facebook(和许多其他应用程序)使用 SYSTEM_ALERT 绘制到窗口以管理他们的小聊天头。在撰写本文 (6.0.1) 时,没有 API 可以监听添加的 View 和/或收集有关该 View 的任何信息。
关于android - 如何以编程方式从另一个应用程序中杀死像应用程序这样的聊天头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27425013/