如何列出Android设备中的所有服务

时间:2013-11-03 21:52:32

标签: android android-service

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

我在API中找到的最接近的内容是ActivityManager上的getRunningServices(),但即便如此也是大胆标记的:

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

并且它仅列出正在运行的服务。

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

(理想情况下,如果存在此类方法,则应与API / SDK 8兼容)

2 个答案:

答案 0 :(得分:6)

您可以enumerate all packagesretrieve their services

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

与API 1兼容。

答案 1 :(得分:1)

过去,我使用以下方法:

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

我已经创建了一个示例here