获取当前运行Android的应用程序(应用程序阻止程序)

时间:2018-12-08 22:56:34

标签: android

我正在尝试在android中开发一个可以在特定时间阻止其他应用程序的应用程序。我发现有几个关于stackoverflow的问题在讨论这个问题,但是它们提供的解决方案已被弃用,并且如今不起作用。我实际上有点迷路,所以任何想法都将不胜感激。步骤如下(目前):

  1. 列出所有已安装的应用程序。
  2. 检测当前正在运行的应用程序的名称(在服务中)。

谢谢!

1 个答案:

答案 0 :(得分:0)

这是您问题的答案。

  
      
  1. 列出所有已安装的应用程序。
  2.   
PackageManager pm = getContext().getPackageManager();
List<ApplicationInfo> apps = pm.getInstalledApplications(0);
  
      
  1. 检测当前正在运行的应用程序的名称(在服务中)。
  2.   

当前无法检测或获取有关当前正在运行的应用程序或服务的信息。由于安全原因,很早以前就对此进行了描述。

getRunningTasks

public List<ActivityManager.RunningTaskInfo> getRunningTasks (int maxNum)

  

此方法在API级别21中已弃用。   从Build.VERSION_CODES.LOLLIPOP开始,此方法对第三方应用程序不再可用:以文档为中心的最新消息的引入意味着它可以将个人信息泄露给呼叫者。为了向后兼容,它仍将返回其数据的一小部分:至少是调用者自己的任务,以及可能还会执行其他一些不敏感的任务,例如home。

     

注意:此方法仅用于调试和呈现任务管理用户界面。永远不要将其用于应用程序中的核心逻辑,例如根据此处找到的信息确定不同的行为。 。不支持此类用途,将来可能会中断。例如,如果可以同时同时运行多个应用程序,则出于控制流程的目的而对此处数据含义所做的假设将是错误的。

Check it here for more info

希望这会有所帮助。