且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2023-01-15 20:08:09

ActivityManager activity_manager = (ActivityManager) context
                .getSystemService(Activity.ACTIVITY_SERVICE);

ActivityManager 有方法 getRunningTasks(INT) ActivityManager 似乎是您要搜索的解决方案。

ActivityManager has method getRunningTasks(int). ActivityManager seems to be the solution you are searching for.

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+"");         
}

另外,看看以下帖子:
查看用户执行的Android最近任务

Also, have a look at following thread: See Android recent task executed by the user