** * Android获取Manifest中<meta-data>元素工具类 * 在AndroidManifest.xml中,<meta-data>元素可以作为子元素, * 被包含在<activity>、<application> 、<service>和<receiver>元素中, * 不同的父元素,在应用时读取的方法也不同。 * Created by younghare on 2017/8/16. */ public class ManifestMetaDataUtil { static String TAG = "MetaDataUtil"; /** * * @param context * @param metaDataName * @return * * <meta-data android:name="plunInstallByChannel" android:value="WWStore" /> * 调用例子:String metaDataValue =ManifestMetaDataUtil.getMetaDataInApplicaiton(this,"plunInstallByChannel"); */ static public String getMetaDataInApplicaiton(Context context,String metaDataName){ ApplicationInfo appInfo = null; try { appInfo = context.getPackageManager() .getApplicationInfo(context.getPackageName(), PackageManager.GET_META_DATA); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); return null; } String msg=appInfo.metaData.getString(metaDataName); Log.d(TAG, " metaData Value == " + msg ); return msg; } /** * * @param activity * @param metaDataName * @return * * <meta-data android:name="czgActivity" android:value="hello my activity"></meta-data> * String metaDataValue =ManifestMetaDataUtil.getMetaDataInApplicaiton(this,"plunInstallByChannel"); */ static public String getMetaDataInActivity(Activity activity, String metaDataName){ ActivityInfo info= null; try { info = activity.getPackageManager() .getActivityInfo(activity.getComponentName(), PackageManager.GET_META_DATA); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); return null; } String msg =info.metaData.getString(metaDataName); Log.d(TAG, " metaData Value in Activity == " + msg ); return msg; } static public String getMetaDataInService(Context context,Class<?> serverClazz, String metaDataName){ ComponentName cn=new ComponentName(context, serverClazz); ServiceInfo info= null; try { info = context.getPackageManager() .getServiceInfo(cn, PackageManager.GET_META_DATA); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); return null; } String msg=info.metaData.getString(metaDataName); Log.d(TAG, " metaData Value in Service == " + msg ); return msg; } static public String getMetaDataInReceiver(Context context, Class<?> receiverClazz, String metaDataName){ ComponentName cn=new ComponentName(context, receiverClazz); ActivityInfo info= null; try { info = context.getPackageManager() .getReceiverInfo(cn, PackageManager.GET_META_DATA); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); return null; } String msg=info.metaData.getString(metaDataName); Log.d(TAG, " metaData Value in BroadcastReceiver == " + msg ); return msg; } }
Android获取Manifest中<meta-data>元素工具类
最新推荐文章于 2024-04-25 13:49:54 发布