<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/version 资源中的zoo名字。
<meta-data android:name="version" android:value="@string/version" />
另一方面,利用resource属性将指定version的资源id号,并不是存储在资源中的资源值。
<meta-data android:name="version" android:resource="@string/version" />
当要给组件提供多个复杂的数据时,在这里并不推荐使用多重meta-data元素,推荐你存储这些数据在一个资源文件中并且利用resource属性来通知它的id给组件。
android:name | 元数据项的名字,为了保证这个名字是唯一的,采用java风格的命名规范。 |
android:resource | 资源的一个引用,指定给这个项的值是该资源的id。该id可以通过方法Bundle.getInt()来从meta-data中找到。 |
android:value | 指定给这一项的值。可以作为值来指定的数据类型并且组件用来找回那些值的Bundle方法列在了下面的表中。 |
Bundle method | Type |
getString() | String value, using double backslashes (//) to escape characters — such as"//n" and "//uxxxxx" for a Unicode character. |
getInt() | Integer value, such as "100" |
getBoolean() | Boolean value, either "true" or "false" |
getString() | Color value, in the form "#rgb", "#argb","#rrggbb", or "#aarrggbb" |
getFloat() | Float value, such as "1.23" |
获得meta-data 的值:
<meta-data android:name="app_name" android:value="@string/app_name"/>
ActivityInfo ai = activity.getPackageManager().getActivityInfo(componentName, PackageManager.GET_META_DATA);
String app_name = ai.metaData.getString("app_name" );
Toast.makeText(this , "meta:" +app_name, 1 ).show();
分享到:
相关推荐
在 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 文件...
Magisk模块的使用涉及到Android系统的内核级定制,需要对Linux系统和Android有深入理解。Magisk框架通过Systemless Interface工作,不会修改系统分区,从而降低了系统稳定性的影响。模块的安装和管理通常通过Magisk ...
基于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 也支持延迟...
【Android 多渠道打包与一键签名详解】 在Android开发中,多渠道打包是一项常见的需求,主要是为了针对不同的应用市场或推广渠道,制作带有特定标识的APK,以便追踪和分析不同渠道的效果。Android Studio提供了方便...
- 在AndroidManifest.xml中添加必要的权限,如INTERNET权限,以及配置Activity的meta-data标签,放入AppKey。 - 实现授权流程,通常使用OAuth2.0协议,用户授权后,通过回调获取Access Token。 2. **登录功能**:...