今天学习到了一种<meda-data>的使用。在不同的组件如activity,service,receiver,application中的用法也不同。XML代码全部是在AndroidManifest.xml中添加的。
一.Application
<application>
<span style="white-space:pre"> </span><meta-data android:name="information" android:value="application">
<span style="white-space:pre"> </span></meta-data>
</application>
代码使用
ApplicationInfo appInfo = this.getPackageManager().getApplicationInfo(getPackageName(),
PackageManager.GET_META_DATA);
String str=appInfo.metaData.getString("information");
//使用
二.Activity
<activity>
<span style="white-space:pre"> </span><meta-data android:name="information" android:value="activity">
<span style="white-space:pre"> </span></meta-data>
</activity>
代码使用
ActivityInfo info=this.getPackageManager().getActivityInfo(getComponentName(),
PackageManager.GET_META_DATA);
String str=info.metaData.getString("information");
//使用
三.Service
<service android:name="MyService">
<span style="white-space:pre"> </span><meta-data android:value="service" android:name="information">
<span style="white-space:pre"> </span></meta-data>
</service>
代码使用
ComponentName cn=new ComponentName(this, MyService.class);
ServiceInfo info=this.getPackageManager()
.getServiceInfo(cn, PackageManager.GET_META_DATA);
String str=info.metaData.getString("information");
//使用
四.Receiver
<receiver android:name="MyReceiver">
<span style="white-space:pre"> </span><meta-data android:value="receiver" android:name="information">
<span style="white-space:pre"> </span></meta-data>
<intent-filter>
<span style="white-space:pre"> </span></intent-filter>
</receiver>
代码使用
ComponentName cn=new ComponentName(context, MyReceiver.class);
ActivityInfo info=context.getPackageManager()
.getReceiverInfo(cn, PackageManager.GET_META_DATA);
String str=info.metaData.getString("information");
//使用