meta-data 元数据
简单的说就是写在 AndroidManifest.xml 配置文件中的配置。现在看下简单的使用
工程目录:
看下写在配置文件中的 各种 meta_data
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.meta_data_test.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!-- activity meta-data -->
<meta-data android:name="com.activity" android:value="activity"></meta-data>
</activity>
<!-- application meta-data -->
<meta-data android:name="com.app" android:value="app"></meta-data>
<!-- service meta-data -->
<service android:name="com.example.meta_data_test.MainService">
<meta-data android:name="com.service" android:value="service"></meta-data>
</service>
<!-- receiver meta-data -->
<receiver android:name="com.example.meta_data_test.MainRecever">
<meta-data android:name="com.receiver" android:value="receiver"></meta-data>
</receiver>
</application>
获取方式
/** activity ***/
ActivityInfo info=this.getPackageManager()
.getActivityInfo(getComponentName(),
PackageManager.GET_META_DATA);
String msg=info.metaData.getString("com.activity");
System.out.println("com.activity= "+msg);
/** application ***/
ApplicationInfo appInfo = this.getPackageManager()
.getApplicationInfo(getPackageName(),
PackageManager.GET_META_DATA);
String msg1= appInfo.metaData.getString("com.app");
System.out.println("com.app= "+msg1);
/**recever **/
ComponentName cn=new ComponentName(this, MainRecever.class);
ActivityInfo receiverinfo=this.getPackageManager()
.getReceiverInfo(cn, PackageManager.GET_META_DATA);
String msg2=receiverinfo.metaData.getString("com.receiver");
System.out.println("com.receiver= "+msg2);
/**service **/
ComponentName cn1=new ComponentName(this, MainService.class);
ServiceInfo serviceinfo=this.getPackageManager()
.getServiceInfo(cn, PackageManager.GET_META_DATA);
String msg3=serviceinfo.metaData.getString("com.service");
System.out.println("com.servie= "+msg3);
测试结果,都获取到了
这个的方便就好像 config里面的 端口等的各种配置,在这里更改就方便的多了 = =