我是Android的新手。我正在开发必须获取有关当前在前台运行的应用程序的信息的应用程序。
这意味着,如果用户启动任何应用程序,则在我的应用程序不应中断已启动的应用程序时,我的应用程序应捕获已启动的应用程序信息。
示例:如果用户启动浏览器应用程序,则我的应用程序应在日志上打印浏览器应用程序信息。
我怎样才能做到这一点?
ActivityManager activity_manager = (ActivityManager) context .getSystemService(Activity.ACTIVITY_SERVICE);
ActivityManager有方法getRunningTasks(int)。ActivityManager似乎是你正在寻找的解决方案。
ActivityManager
getRunningTasks(int)
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+""); }