Java tutorial
//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; } } } }