java - 获取特定应用程序的所有服务列表(来自 list )

标签 java android xml

如何从特定应用获取 AndroidManifest.xml 中声明的所有服务的列表?

换句话说,我编写了一个带有包“com.example.exampleapp”的应用程序。如何获取 list 文件中先前声明的所有权限的列表?

最佳答案

这可能对你有帮助...

    int flags = PackageManager.GET_ACTIVITIES
            | PackageManager.GET_CONFIGURATIONS
            | PackageManager.GET_DISABLED_COMPONENTS
            | PackageManager.GET_GIDS | PackageManager.GET_INSTRUMENTATION
            | PackageManager.GET_INTENT_FILTERS
            | PackageManager.GET_PERMISSIONS | PackageManager.GET_PROVIDERS
            | PackageManager.GET_RECEIVERS | PackageManager.GET_SERVICES
            | PackageManager.GET_SIGNATURES;
    PackageManager packageManager = getPackageManager();
    List<PackageInfo> installedPackages = packageManager
            .getInstalledPackages(flags);
    for (PackageInfo packageInfo : installedPackages) {
        ServiceInfo[] services = packageInfo.services;
        PermissionInfo[] permissions = packageInfo.permissions;
    }

对于特定的包...

    StringBuffer buffer = new StringBuffer();
    try {
        PackageInfo packageInfo = packageManager.getPackageInfo(
                "packageName", flags);
        ServiceInfo[] services = packageInfo.services;
        for (ServiceInfo serviceInfo : services) {
            buffer.append(serviceInfo.name + "\n");
        }
        PermissionInfo[] permissions = packageInfo.permissions;
    } catch (NameNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    textView.setText(buffer);

关于java - 获取特定应用程序的所有服务列表(来自 list ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20881618/

相关文章:

java - 使用 PATCH 和 Jersey Client API 进行单元测试

java - 检查 Base64 文本是否是有效的 RSA 公钥 (4096)

实现google places sdk时Android构建错误

android - session Cookie 在移动设备上的过期时间比在桌面设备上快得多

java - 使用 JDOM 解析时处理特殊字符

ubuntu - 在 Ubuntu 10.04 上安装 Java JDK

java - 从 php 调用 java

android - 如何从 Android 上的 Firebase DataSnapshot 中提取对象列表

android - 没有办法在 xml 节点内进行评论,对吗?

java - 解析巨大的 xml 文件以从子标签中获取不同的值 - 需要最佳方法建议