我看到这个问题:How can i check if an app running in Android?我如何检查应用是否在Android中打开?
但我想获得打开的应用程序的名称(用户看到)住在android中。
我想运行一个后台服务来检查。
我看到这个问题:How can i check if an app running in Android?我如何检查应用是否在Android中打开?
但我想获得打开的应用程序的名称(用户看到)住在android中。
我想运行一个后台服务来检查。
您可以使用此功能让运行应用程序包的名称:
public String foregroundPackage() {
ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> runningTaskInfo = manager.getRunningTasks(1);
ComponentName componentInfo = runningTaskInfo.get(0).topActivity;
packageName = componentInfo.getPackageName();
return componentInfo.getPackageName();
}
谢谢,但是当我运行你的代码时,我只在任何应用程序中获得** com.l.launcher **。 –
我不知道你是如何调用函数的,但我可以向你保证它会返回顶级应用程序包名称。 –
例如,我有一个循环函数,每个5秒钟,我把你的代码在这个循环中获取名称。只有在我的应用程序,我得到正确的名称(** com.example.test **),但在其他应用程序,我得到这个:** com.l.launcher ** :( –
https://www.google.com/?gws_rd=ssl#safe=active&q=check+if+app+is+running + android –