元数据meta-data应用在manifest.xml文件中,主要用以为父组件提供配置数据。一个组件中可以包含有多个meta-data;
其可被包含于<activity>、<activity-alias>、<service>、<receiver>中。
其基本使用语法为:
<meta-data
android:name="data_name"
android:value="@string/meta_data"
android:resource="@string/meta_data"/>类似于一个键值对的形式,使用value则保存的是对应的String等值,使用resource则保存的是对应的资源Id值。
在四个组件中的使用及获取方式如下:
一、activity/activity-alias
1、在manifest中使用:
<activity
android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<meta-data
android:name="data_name"
android:value="@string/meta_data"
/>
</activity>2、在代码中获取数据:
// 使用时注意加上try_catch
ActivityInfo actInfo = this.getPackageManager().getActivityInfo(
getComponentName(), PackageManager.GET_META_DATA);
String msg = actInfo.metaData.getString("data_name");
// 如果meta-data类型是资源ID,使用getInt获取资源ID即可二、service
1、使用:
<service android:name=".MyService">
<meta-data
android:name="data_name"
android:value="@string/meta_data"/>
</service>2、代码中获取数据:
ComponentName cn = new ComponentName(this, MyService.class);
ServiceInfo serInfo = this.getPackageManager().getServiceInfo(cn,
PackageManager.GET_META_DATA);
String msg = serInfo.metaData.getString("data_name");三、receiver
1、使用
<receiver android:name=".MyReceiver">
<meta-data
android:name="data_name"
android:value="@string/meta_data"/>
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE"/>
</intent-filter>
</receiver>2、代码中获取数据
ComponentName cn = new ComponentName(this, MyReceiver.class);
ActivityInfo info = this.getPackageManager().getReceiverInfo(cn,
PackageManager.GET_META_DATA);
String msg = info.metaData.getString("data_name");
1、使用
<application>
<meta-data
android:name="data_name"
android:value="@string/meta_data"/>
</application>2、代码中获取数据
ApplicationInfo appInfo = this.getPackageManager().getApplicationInfo(
getPackageName(), PackageManager.GET_META_DATA);
String msg = appInfo.metaData.getString("application_name");
深入理解Android meta-data应用

本文详细探讨了Android中meta-data标签的使用,包括它在清单文件中的作用、如何存储和检索元数据、以及在组件间传递信息的关键应用场景。通过实例解析,揭示了meta-data在权限声明、第三方库配置等方面的重要性。
1801

被折叠的 条评论
为什么被折叠?



