Android中的使用

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

1.在application中应用

  • xml代码
  
     
 
  • Java代码获取值
ApplicationInfo appInfo = this.getPackageManager()  
                                  .getApplicationInfo(getPackageName(),  
                          PackageManager.GET_META_DATA);  
String msg=appInfo.metaData.getString("UMENG_CHANNEL");  

2.在activity中应用

  • xml代码
  
     
 
  • Java代码获取值
ActivityInfo info=this.getPackageManager()  
                          .getActivityInfo(getComponentName(),  
                          PackageManager.GET_META_DATA);  
String msg=info.metaData.getString("UMENG_CHANNEL");  

3.在service中应用

  • xml代码
  
     
 
  • Java代码获取值
ComponentName cn=new ComponentName(this, MetaDataService.class);  
ServiceInfo info=this.getPackageManager()  
                        .getServiceInfo(cn, PackageManager.GET_META_DATA);  
String msg=info.metaData.getString("UMENG_CHANNEL");  

4.在receiver使用

  • xml代码
  
      
        
            
        
   
  • Java代码获取值
ComponentName cn=new ComponentName(context, MetaDataReceiver.class);  
ActivityInfo info=context.getPackageManager()  
                             .getReceiverInfo(cn, PackageManager.GET_META_DATA);  
String msg=info.metaData.getString("myMsg");  

你可能感兴趣的:(Android中的使用)