有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java从特定应用程序获取所有服务的列表(从清单)

如何获取AndroidManifest中声明的所有服务的列表。来自特定应用程序的xml

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


共 (1) 个答案

  1. # 1 楼答案

    这可能会帮助你

        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);