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

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


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


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


我怎样才能做到这一点?



守着星空守着你
浏览 1170回答 3
3回答

慕容森

ActivityManager activity_manager = (ActivityManager) context&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .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++)&nbsp;{&nbsp; &nbsp; Log.d("Executed app", "Application executed : " +recentTasks.get(i).baseActivity.toShortString()+ "\t\t ID: "+recentTasks.get(i).id+"");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}

慕村225694

ActivityManager activity_manager = (ActivityManager) context&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .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++)&nbsp;{&nbsp; &nbsp; Log.d("Executed app", "Application executed : " +recentTasks.get(i).baseActivity.toShortString()+ "\t\t ID: "+recentTasks.get(i).id+"");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}另外,看看以下线程: 请参阅用户执行的Android最近任务
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java
Android