Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
//License from project: Apache License 

import java.util.List;

import android.content.Context;

import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.ProviderInfo;

public class Main {

    public static String getAuthorityFromPermission(Context context, String permission) {
        if (permission == null)
            return null;

        List<PackageInfo> packs = context.getPackageManager().getInstalledPackages(PackageManager.GET_PROVIDERS);
        if (null == packs) {
            return null;
        }

        for (PackageInfo pack : packs) {
            ProviderInfo[] providers = pack.providers;
            if (null == providers)
                continue;

            for (ProviderInfo provider : providers) {
                if (provider.readPermission != null && (provider.readPermission).contains(permission)) {
                    return provider.authority;
                }
            }
        }

        return null;
    }
}