AndroidManifest.xml里的meta-data

<meta-data>是对外界开放的,是向系统注册的信息,系统及外界是可以通过PackageInfo相关API获取到meta-data的信息。

 在AndroidManifest.xml中,<meta-data>元素可以作为子元素,被包含在<activity>、<application> 、<service>和<receiver>元素中,但不同的父元素,在应用时读取的方法也不同。

  <meta-data>元素用name-value对的格式给其父组件提供任意可选的数据。一个组件元素能够包含任意多个<meta-data>子元素,所有这些元素中定义的值会被收集到一个Bundle对象中,并且提供给组件的PackageItemInfo.metaData属性字段。通常值是通过其value属性来指定的。但是,也可以使用resource属性来代替,把一个资源ID跟值进行关联

1.在Activity的应用。

xml代码段:  

  1. <activity>
  2. <meta-data android:name="myMsg" android:value="hello"> </meta-data>
  3. </activity>

java代码段:

  1. ActivityInfo info= this.getPackageManager()
  2. .getActivityInfo(getComponentName(),
  3. PackageManager.GET_META_DATA);
  4. String msg=info.metaData.getString( "myMsg");

2.在application的应用。

xml代码段:

  1. <application>
  2. <meta-data android:value="hello" android:name="myMsg"> </meta-data>
  3. </application>

java代码段:

  1. ApplicationInfo appInfo = this.getPackageManager()
  2. .getApplicationInfo(getPackageName(),
  3. PackageManager.GET_META_DATA);
  4. String msg=appInfo.metaData.getString( "myMsg");

3.在service的应用。

xml代码段:

  1. <service android:name="MetaDataService">
  2. <meta-data android:value="hello" android:name="myMsg"> </meta-data>
  3. </service>

java代码段: 

  1. ComponentName cn= new ComponentName( this, MetaDataService.class);
  2. ServiceInfo info= this.getPackageManager()
  3. .getServiceInfo(cn, PackageManager.GET_META_DATA);
  4. String msg=info.metaData.getString( "myMsg");

4.在receiver的应用。

xml代码段:

  1. <receiver android:name="MetaDataReceiver">
  2. <meta-data android:value="hello" android:name="myMsg"> </meta-data>
  3. <intent-filter>
  4. <action android:name="android.intent.action.PHONE_STATE"> </action>
  5. </intent-filter>
  6. </receiver>

java代码段:

  1. ComponentName cn= new ComponentName(context, MetaDataReceiver.class);
  2. ActivityInfo info=context.getPackageManager()
  3. .getReceiverInfo(cn, PackageManager.GET_META_DATA);
  4. String msg=info.metaData.getString( "myMsg");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值