为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

守着星空守着你 2019-10-31 13:13:41
我是Android的新手。我正在处理必须获取有关当前在前台运行的应用程序的信息的应用程序。这意味着,如果用户启动任何应用程序,则在我的应用程序不应中断已启动的应用程序时,我的应用程序应捕获已启动的应用程序信息。示例:如果用户启动浏览器应用程序,则我的应用程序应在日志上打印浏览器应用程序信息。我怎样才能做到这一点?
查看完整描述

3 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

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

}


查看完整回答
反对 回复 2019-10-31
?
慕村225694

TA贡献1880条经验 获得超4个赞

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

}

另外,看看以下线程: 请参阅用户执行的Android最近任务


查看完整回答
反对 回复 2019-10-31
  • 3 回答
  • 0 关注
  • 1165 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信