当前位置: 首页 > 面试题库 >

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

宇文嘉勋
2023-03-14
问题内容

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

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

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

我怎样才能做到这一点?


问题答案:
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+"");         
}


 类似资料: