如何在用户打开任何应用程序时获取其名称?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在用户打开任何应用程序时获取其名称?相关的知识,希望对你有一定的参考价值。

我需要获取用户打开的任何应用程序的包名称或应用程序名称。我搜索了这个,但没有得到正确的例子。

有人可以给我这个案子的建议吗?非常感谢。!

答案

您必须为此创建后台服务,这将持续监控设备中的顶级应用程序。

因此,首先要提供一项服务,该服务将在您的应用程序启动后启动。在您的服务中,使用此服务

ActivityManager mActivityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> RunningTask = mActivityManager.getRunningTasks(1);
ActivityManager.RunningTaskInfo ar = RunningTask.get(0);
activityOnTop=ar.topActivity.getClassName();

activityOnTop将为您提供手机中当前正在运行的应用程序。现在,在获得顶级活动后,随心所欲。

以上是关于如何在用户打开任何应用程序时获取其名称?的主要内容,如果未能解决你的问题,请参考以下文章

使用Android导航组件时如何从后台获取片段?

如何在 EditText 框中获取指定的产品名称?

当通知进入android时如何获取Bundle数据

右键单击任何菜单项时如何获取 MenuItem 名称?

如何将微调器的值放入不同的片段中?

在应用关闭时单击 Firebase 通知后打开特定的活动/片段