Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
//License from project: Open Source License 

import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.res.Resources;
import android.os.Bundle;

import android.util.Log;

public class Main {
    private static final String TAG = "AboutUtils";

    /**
     * Get String array from Extra or from Meta-data through resources.
     * 
     * @param packagename
     * @param intent
     * @param extra
     * @param metadata
     */
    public static String[] getStringArrayExtraOrMetadata(final Context context, final String packagename,
            final Intent intent, final String extra, final String metadata) {
        if (intent.hasExtra(extra) && intent.getStringArrayExtra(extra) != null) {
            return intent.getStringArrayExtra(extra);
        } else {
            //Try meta data of package
            Bundle md = null;
            try {
                md = context.getPackageManager().getApplicationInfo(packagename,
                        PackageManager.GET_META_DATA).metaData;
            } catch (NameNotFoundException e) {
                Log.e(TAG, "Package name not found", e);
            }

            if (md != null) {
                String[] array = null;
                try {
                    int id = md.getInt(metadata);
                    Resources resources = context.getPackageManager().getResourcesForApplication(packagename);
                    array = resources.getStringArray(id);
                } catch (NameNotFoundException e) {
                    Log.e(TAG, "Package name not found ", e);
                } catch (NumberFormatException e) {
                    Log.e(TAG, "Metadata not valid id.", e);
                } catch (Resources.NotFoundException e) {
                    Log.e(TAG, "Resource not found.", e);
                }

                if (array != null) {
                    return array;
                } else {
                    return null;
                }
            } else {
                return null;
            }
        }
    }
}