1. 程式人生 > >Android——獲取AndroidManifest.xml中的引數

Android——獲取AndroidManifest.xml中的引數

獲取application標籤中meta-data的引數值

public static String getMetaDataFromActivity(Activity context, String key) {
        try {
            ActivityInfo info = context.getPackageManager().getActivityInfo(context.getComponentName(),
                    PackageManager.GET_META_DATA);
            return info.metaData.getString(key);
        } catch
(NameNotFoundException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } return null; }

獲取activity標籤中meta-data的string型別引數值

    public static String getMetaDataFromAppication(Context context, String key) {
        try {
            ApplicationInfo appInfo = context.getPackageManager().getApplicationInfo(context.getPackageName(),
                    PackageManager.GET_META_DATA);
            return
appInfo.metaData.getString(key); } catch (NameNotFoundException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } return null; }

獲取application標籤中meta-data的int型別引數值

    public static int getMetaDataIntFromAppication
(Context context, String key) { try { ApplicationInfo appInfo = context.getPackageManager().getApplicationInfo(context.getPackageName(), PackageManager.GET_META_DATA); return appInfo.metaData.getInt(key); } catch (NameNotFoundException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } return 0; }

獲取application標籤中meta-data的boolean型別引數值

    public static boolean getMetaDataBooleanFromAppication(Context context, String key) {
        try {
            ApplicationInfo appInfo = context.getPackageManager().getApplicationInfo(context.getPackageName(),
                    PackageManager.GET_META_DATA);
            return appInfo.metaData.getBoolean(key);
        } catch (NameNotFoundException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return false;
    }

獲取service的型引數值

    public static String getMetaDataFromService(Context context, Class<? extends Service> clazz, String key) {
        try {
            ComponentName cn = new ComponentName(context, clazz);
            ServiceInfo info = context.getPackageManager().getServiceInfo(cn, PackageManager.GET_META_DATA);
            return info.metaData.getString(key);
        } catch (NameNotFoundException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

獲取receiver的型引數值

    public static String getMetaDataFromReceiver(Context context, Class<? extends BroadcastReceiver> clazz, String key) {
        try {
            ComponentName cn = new ComponentName(context, clazz);
            ActivityInfo info = context.getPackageManager().getReceiverInfo(cn, PackageManager.GET_META_DATA);
            return info.metaData.getString(key);
        } catch (NameNotFoundException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }