语法(SYNTAX):
被包含于(CONTAINED IN):
<manifest>
说明(DESCRIPTION):
这个元素用于声明一个单独的被应用程序使用的硬件或软件功能。
<uses-feature>声明的目的是通知其他外部实体,该应用程序所依赖的硬件和软件功能。这个元素提供的required属性会让你指定应用程序在所需的功能不存在时,应用程序是否能够正常运行。因为功能能够所支持的Android设备不同,所以<uses-feature>元素被用于描述应用程序所依赖的、重要的、可用的设备功能。
应用程序所声明的一组可用功能对应着一组由Android的PackageManager类定义的可用的功能常量,为了方便,这些常量会在《Google Play和基于功能的过滤》的“功能参考”表中被列出。
如果应用程序需要多个功能,就要分别使用<uses-feature>元素来指定所需的每一个功能,例如:需要设备中带有蓝牙和camera功能的应用程序,要声明两个<uses-feature>元素:
<uses-feature
android:name="android.hardware.bluetooth"
/>
<uses-feature
android:name="android.hardware.camera"
/>
通常应该确保使用<uses-feature>元素来声明应用程序所需的所有功能。
被声明的<uses-feature>元素只是信息化的,这意味着Android系统本身在安装应用程序之前,不会检查设备上所支持的功能的匹配性。但是其他的服务(如Google
Play)或应用程序可以检查该应用程序的<uses-feature>声明,把它作为与该应用程序交互的一部分。由于这个原因,声明应用程序要使用的所有的外部功能是至关重要的。
对于某些功能,有可能存在一个特定的属性,以便定义功能的版本,如被使用的Open GL的版本(用glEsVersion来声明)。而有些功能则不需要指定版本属性,如照相机,就只使用name属性来声明。
尽管<uses-feature>元素只在运行API Level 4或更高的版本上才有效,但是还是推荐在所有的应用程序中包含这个元素,即使minSdkVersion的值是3或更低的版本,那么这些运行旧的平台版本的设备会简单忽略掉这个元素。
注意:在声明一个功能时,要记住必须申请相应的权限。例如,在应用程序能够访问Camera的API之前,必须申请CAMERA权限。申请权限是让应用程序能够访问相应的软/硬件,而声明应用程序所使用的功能是为了确保正确的设备兼容性。
属性(ATTRIBUTES):
android:name
这个属性用描述性的字符串,指定该应用程序所使用的软/硬件功能。有效描述符在《Google Play和基于功能的过滤》的“硬件功能”和“软件功能”表中被列出。
android:required
这个属性用一个布尔值来指定应用程序是否需要在android:name属性中所指定的功能。
true:在设备上不存在指定的功能时,则该应用不能够正常运行。
false:如果设备上存在指定的功能,则应用程序会倾向使用这个功能,但是如果需要,也可设计成没被指定的功能也能够正常运行。
如果没有声明,这个属性的默认值是true。
android:qlEsVersion
这个属性用于声明应用程序所需要的OpenGL ES的版本。它的高16位代表主版本号,低16位代表次要版本号,如:要是指定OpenGL ES的版本号是2.0,那么就要设置为0x00020000。要指定的OpenGL ES的版本号是2.1,就要设置为0x00020001。
应用程序在它的清单中应该最多只能指定一个android:glEsVersion属性,如果指定了多个,那么只会使用版本最高的那个android:glEsVersion属性,而其他的将会被忽略。
如果应用程序没有指定一个android:glEsVersion属性,那么就假定应用程序仅需要OpenGL ES1.0,它是在所有的Android设备上都支持的版本。
应用程序能够假设,如果一个平台支持设定的OpenGL ES版本,那么它还会支持所有被设定版本低的OpenGL ES版本,因此,需要OpenGL ES1.0和OpenGL ES2.0的应用程序,必须要指定它所需要的版本时OpenGL ES2.0。
能够用任何版本的OpenGL ES来工作的应用程序,应该仅指定应用所需的最低版本的OpenGL ES。(应用程序能够在运行时检查较高版本的OpenGL ES是否可用。)
被引入的版本(INTRODUCED IN):
API Level 4
分享到:
相关推荐
### AndroidManifest.xml 文件详解 #### 一、关于 AndroidManifest.xml `AndroidManifest.xml` 是 Android 应用程序中不可或缺的一部分,通常位于项目的根目录下。该文件定义了应用程序的架构和元数据,包括应用...
《AndroidManifest.xml uses-feature功能详解》 在Android应用开发中,`AndroidManifest.xml` 文件扮演着至关重要的角色,它是应用程序的元数据中心,包含了应用程序所需的权限、组件信息以及硬件需求等。其中,`...
二、AndroidManifest.xml 文件的节点详解 ### `<manifest>` 节点 * `xmlns:android`:定义了 Android 命名空间,一般为 http://schemas.android.com/apk/res/android。 * `package`:指定了应用程序的包名,也是...
为了确保应用程序能够访问设备上的摄像头,必须在AndroidManifest.xml文件中声明以下权限: ```xml <uses-permission android:name="android.permission.CAMERA"/> <uses-feature android:name="android.hardware....
- **权限设置**:根据新版本的需求,可能需要添加或更新AndroidManifest.xml中的权限声明,例如读写文件的权限。 4. **代码示例** 在`MDialogs.pas`和`MMain.pas`文件中,找到OpenDialog的使用部分,比如`...
在AndroidManifest.xml文件中,必须声明对相机和网络的权限,以确保应用可以访问硬件资源并进行网络通信: ```xml <uses-permission android:name="android.permission.CAMERA"/> <uses-permission android:name=...
要开始蓝牙开发,开发者需首先在`AndroidManifest.xml`文件中声明必要的权限,如下所示: ```xml <uses-permission android:name="android.permission.BLUETOOTH"/> <uses-permission android:name="android....
要在应用中使用摄像头,首先需要在`AndroidManifest.xml`文件中声明相应的权限: ```xml <uses-permission android:name="android.permission.CAMERA" /> ``` 同时还需要添加存储权限(如果需要保存图片到外部...
在AndroidManifest.xml文件中,我们需要添加以下权限声明: ```xml <uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" android:required=...
1. **权限声明**:在AndroidManifest.xml中添加`<uses-feature>`和`<uses-permission>`标签,声明应用使用NFC功能和读/写权限。 2. **初始化NFC Manager**:在Activity中获取`NfcManager`实例,用于后续的NFC操作。...