如何在Android中以编程方式找到当前正在运行的应用程序?

发布于 2021-02-02 22:41:50

我是Android的新手。我正在开发必须获取有关当前在前台运行的应用程序的信息的应用程序。

这意味着,如果用户启动任何应用程序,则在我的应用程序不应中断已启动的应用程序时,我的应用程序应捕获已启动的应用程序信息。

示例:如果用户启动浏览器应用程序,则我的应用程序应在日志上打印浏览器应用程序信息。

我怎样才能做到这一点?

关注者
0
被浏览
238
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。
    ActivityManager activity_manager = (ActivityManager) context
                    .getSystemService(Activity.ACTIVITY_SERVICE);
    

    ActivityManager有方法getRunningTasks(int)ActivityManager似乎是你正在寻找的解决方案。

    final ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
    final List<RunningTaskInfo> recentTasks = activityManager.getRunningTasks(Integer.MAX_VALUE);
    
    for (int i = 0; i < recentTasks.size(); i++) 
    {
        Log.d("Executed app", "Application executed : " +recentTasks.get(i).baseActivity.toShortString()+ "\t\t ID: "+recentTasks.get(i).id+"");         
    }
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看