首页 > 解决方案 > 我可以使用 Xamarin 应用程序监控 Android 设备上所有打开的应用程序吗?

问题描述

我可以使用 Xamarin 应用程序来监控 Android 设备上打开的所有应用程序吗?我四处搜索,发现如何打开应用程序,但不知道如何查看已打开的应用程序。此外,是否有等效于 Windows System.Diagnostics 性能计数器类?

标签: c#xamarin

解决方案


1.您可以使用以下代码获取正在运行的应用程序进程。

ActivityManager activityManager = GetSystemService(Context.ActivityService) as ActivityManager;
ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo();
activityManager.GetMemoryInfo(memoryInfo);

List<ActivityManager.RunningAppProcessInfo> runningAppProcesses = activityManager.RunningAppProcesses as List<ActivityManager.RunningAppProcessInfo>;

然后,您可以遍历调用的列表runningAppProcesses,并在需要时询问进程信息类以获取其他信息,这些信息可以在此处找到。

这里有几个例子:

  • ProcessName - 此对象关联的进程的名称。
  • Pid - 此进程的 pid;如果没有,则为 0。
  • Uid - 此进程的用户 ID。

2.有关信息PerformanceCounter,您可以查看:https ://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.performancecounter?view=netframework-4.8


推荐阅读