2

我正在寻找一种可靠的方法来以编程方式查找和列出Android 设备中的所有可用服务(运行和未运行)。

我可以在 API 中找到的最接近的东西是getRunningServices() onActivityManager但即使是这样也被粗体标记:

注意:此方法仅用于调试或实现服务管理类型的用户界面。

无论如何它只列出正在运行的服务。

是否有可靠的方法来查找给定 Android 设备中的所有可用服务?

(理想情况下,如果存在这种方法,应与 API/SDK 8 及更高版本兼容)

4

2 回答 2

6

您可以枚举所有包检索它们的服务

List<PackageInfo> pkgs = getPackageManager().getInstalledPackages(PackageManager.GET_SERVICES);
for(PackageInfo pkg : pkgs) {
  // You can now use pkg.services
}

与 API 1 兼容。

于 2013-11-03T22:09:08.890 回答
1

在过去,我使用过以下内容:

列表列表 = activityManager.getRunningServices(maxNum);

我在这里创建了一个示例

于 2020-04-06T08:21:34.127 回答