<meta-data android:name="string"
android:resource="resource specification"
android:value="string" />
这是该元素的基本结构.可以包含在
<activity> <activity-alias> <service> <receiver>四个元素中。
这个名字值是额外的任意的可以提供给父组件的数据。一个组件元素能够包含任意数量的meta-data子元素。它们所有的值都会被收集在Bundle对象中并且使其可以作为组件的 PackageItemInfo.metaData 字段。
一般的值可以通过value属性来指定,但是如果要指定一个资源id作为一个值,那么就要用resource属性来代替。例如:下面的代码就是指定存储在@string/kangaroo 资源中的zoo名字。
<meta-data android:name="zoo" android:value="@string/kangaroo" />
另一方面,利用resource属性将指定zoo的资源id号,并不是存储在资源中的资源值。
<meta-data android:name="zoo" android:resource="@string/kangaroo" />
当要给组件提供多个复杂的数据时,在这里并不推荐使用多重meta-data元素,推荐你存储这些数据在一个资源文件中并且利用resource属性来通知它的id给组件。
android:name
元数据项的名字,为了保证这个名字是唯一的,采用java风格的命名规范。例如:
com.example.project.activity.fred
android:resource
资源的一个引用,指定给这个项的值是该资源的id。该id可以通过方法Bundle.getInt()来从meta-data中找到。
android:value
指定给这一项的值。可以作为值来指定的数据类型并且组件用来找回那些值的Bundle方法列在了下面的表中。
Type Bundle method
String value, using double backslashes (\\) to getString()
escape characters — such as"\\n" and "\\uxxxxx"
for a Unicode character.
Integer value, such as "100" getInt()
Boolean value, either "true" or "false" getBoolean()
Color value, in the form "#rgb", "#argb", getString()
"#rrggbb", or "#aarrggbb"
Float value, such as "1.23" getFloat()
获得a meta-data 的值:
<meta-data android:name="foo" android:value="@string/app_name"/>
ActivityInfo ai = activity.getPackageManager().getActivityInfo(componentName, PackageManager.GET_META_DATA);
String foo = ai.metaData.getString("foo");
Toast.makeText(this, "meta:"+foo, 1).show();
参考:
http://androidappdocs.appspot.com/guide/topics/manifest/meta-data-element.html
分享到:
相关推荐
在 Recovery 模式中, Android 系统会使用到多个模块,包括 framework/base/core 层、framework jni 层和 recovery 系统层。这些模块都是 Recovery 模式的核心组件,负责实现 Recovery 模式的各种功能。 framework/...
【Android屏保开发详解】 Android系统作为全球最受欢迎的智能手机操作系统之一,其丰富的定制性和开放性为开发者提供了广阔的空间。在Android中,屏保(Live Wallpaper)是一种动态壁纸,它可以为用户的手机桌面...
### AndroidManifest.xml 文件详解 #### 一、关于 AndroidManifest.xml `AndroidManifest.xml` 是 Android 应用程序中不可或缺的一部分,通常位于项目的根目录下。该文件定义了应用程序的架构和元数据,包括应用...
2. 同时,该Component的meta-data必须包含`android:name="android.app.searchable"`和指向`searchable` XML资源的`android:resource`。 在实现搜索功能时,还需要考虑如何处理搜索请求、展示搜索结果,以及如何在...
<meta-data android:name="com.android.vending.expansion.zip_file" android:value="@raw/main" /> <meta-data android:name="com.android.vending.expansion.patch_file" android:value="@raw/patch" /> ... ...
4. 在同一文件中,还需添加百度地图服务的meta-data标签,放入之前获取的API密钥: ```xml <meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="你的API密钥"/> ``` 5. 创建地图Fragment或...
* `<meta-data>`:定义了广播接收器的元数据。 ### `<provider>` 节点 * `<grant-uri-permission>`:定义了内容提供者的 uri 权限。 * `<meta-data>`:定义了内容提供者的元数据。 三、AndroidManifest.xml 文件...
基于Android FileProvider 属性配置详解及FileProvider多节点问题 Android FileProvider 是 Android 7.0 及更高版本中用于文件共享的组件,主要用于解决 Android 7.0 及更高版本中私有存储的限制问题。在 Android ...
<meta-data android:name="android.window.statusBarColor" android:resource="@color/colorStatusBar" /> ``` 或者 ```java // Java代码设置 Window window = getWindow(); window.addFlags(WindowManager...
【Xposed框架详解】 Xposed框架是Android平台上的一款极具影响力和功能强大的系统级插件框架。它允许开发者在不修改应用程序APK的情况下,通过编写模块来影响程序运行的行为,实现对系统层面的功能扩展和定制。...
### 屏幕适配配置详解 #### 一、引言 在移动应用开发过程中,屏幕适配是一项重要的技术。为了确保应用能够在不同尺寸、不同分辨率的设备上保持良好的视觉效果和用户体验,开发者需要掌握一系列适配策略和技术。...
<meta-data android:name="CHANNEL" android:value="C_001" /> ``` - **自定义渠道编号**:每个渠道对应一个独特的值,如`C_001`,`C_002`等。 3. **程序如何读取渠道编号**: - 在代码中,可以通过`...
**Android高德地图Demo详解** 高德地图API是Android开发者常用的一款地图服务,它提供了丰富的地图展示、定位、路径规划等功能。在这个项目中,我们将会深入探讨如何在Android应用中集成高德地图,并实现基础地图的...
### Android 下 USB Host 开发详解 #### 一、引言 随着移动技术的发展,Android 设备的功能日益强大,其中一项重要的功能就是支持 USB Host 模式。在 USB Host 模式下,Android 设备可以作为 USB 主机使用,这意味...
- **初始化过程**:当应用程序启动时,RoboGuice会自动寻找应用的`AndroidManifest.xml`中的`meta-data`标签,从中获取配置的Module类。然后创建`RoboInjector`实例,解析Module并构建依赖关系图。 - **依赖注入**...
- 如果不想在启动阶段初始化某个组件,可以通过删除对应的 `<meta-data>` 元素,或者使用 `tools:node="remove"` 属性来禁止自动初始化。 4. **延迟初始化**: - 除了启动时的自动初始化,App Startup 也支持延迟...
1. 在 AndroidManifest 中添加 `<meta-data android:name="UMENG_CHANNEL" android:value="${channel}" />` 2. 在 build.gradle 中添加 `baidu {}` 为指定渠道名称简写 3. 设置输出 APK 名称 4. 编译打包 ### ...
【Android 多渠道打包与一键签名详解】 在Android开发中,多渠道打包是一项常见的需求,主要是为了针对不同的应用市场或推广渠道,制作带有特定标识的APK,以便追踪和分析不同渠道的效果。Android Studio提供了方便...
- 在AndroidManifest.xml中添加必要的权限,如INTERNET权限,以及配置Activity的meta-data标签,放入AppKey。 - 实现授权流程,通常使用OAuth2.0协议,用户授权后,通过回调获取Access Token。 2. **登录功能**:...