有时候公司项目需要知道注册用户来着那个渠道下载的包,打渠道包一半都会在manifest中Application目录下的<meta-data>添加数据。manifest中的<meta-data>中的数据有几种形式:有在<Application>目录下的,有在<Activity>目录下的,也有在<Service>目录下的,还有在<Receicer>目录下的。
1> 在Application中
ApplicationInfo appInfo = this.getPackageManager()
.getApplicationInfo(getPackageName(),
PackageManager.GET_META_DATA);
String string=appInfo.metaData.getString("data_name");
2> 在Activity中
ActivityInfo info=this.getPackageManager().getActivityInfo(getComponentName(),PackageManager.GET_META_DATA);
String
string=info.metaData.getString("data_name");
3> 在Service中
ComponentName cn=new ComponentName(this, MetaDataService.class);
ServiceInfo info=this.getPackageManager().getServiceInfo(cn, PackageManager.GET_META_DATA);
String
string=info.metaData.getString("data_name");
4> 在Receiver中
ComponentName cn=new ComponentName(context, MetaDataReceiver.class);
ActivityInfo info=context.getPackageManager().getReceiverInfo(cn, PackageManager.GET_META_DATA);
String string=info.metaData.getString("data_name");