API 级别:10
Android 2.3.4 (GINGERBREAD_MR1
)
是添加了一些问题修复和补丁的维护版本
升级到 Android 2.3 平台,无需从 Android 2.3.3 更改任何 API。此外,
Android 2.3.4 让移动设备支持 Open Accessory API,
(可选的开放配件库)。
对于开发者,Android 2.3.4 平台可作为 Android SDK 的可下载组件提供。该可下载平台包括: Android 库和系统映像,以及一组模拟器皮肤和 。如需开始针对 Android 2.3.4 进行开发或测试,请使用 Android SDK 管理器将该平台下载到您的 SDK 中。
API 概览
Android 2.3.4 为应用提供与 Android 2.3.3 相同的框架 API (API 级别 10)。有关 API 的摘要,请参阅 Android 2.3.3 版本说明。
打开配件库
开放配件是一项新功能,用于将 连接到外围设备和在平台上运行的应用。功能 基于平台内置的 USB(通用串行总线)堆栈和 API 提供给应用。作为配件连接到 Android 设备的外围设备会以 USB 主机的身份进行连接。
开放配件在 Android 3.1(API 级别 12)中引入,但通过可选的外部库(开放配件库)提供给搭载 Android 2.3.4 的设备。该库公开了一个框架 API,可让应用发现、与之通信和管理通过 USB 连接的各种类型的设备。它还针对 Android 2.3.4 中未直接公开给应用的 Android 平台部分提供了 API 实现。
在任何给定设备上,开放配件库都是可选的。设备 制造商可以选择是否将开放配件库加入其 或将其排除。该库向前兼容 Android 3.1,因此 针对 Android 2.3.4 开发的应用可在设备上运行 运行 Android 3.1 的设备(如果这些设备支持 USB 配件)。
Open Accessory Library 提供的 API 基于 Open Accessory Android 3.1 中提供的 API。在大多数区域,您都可以使用相同的技术 API。不过,在 Android 2.3.4 上针对开放式配件库进行开发与标准 USB API 有以下不同:
- 获取
UsbManager
对象,即获取UsbManager
对象(在使用插件库时), 使用辅助方法getInstance()
,而不是getSystemService()
例如:Kotlin
val manager = UsbManager.getInstance(this)
Java
UsbManager manager = UsbManager.getInstance(this);
- 从过滤后的 intent 获取
UsbAccessory
- 使用 intent 过滤已连接的设备或配件时 过滤器,则UsbAccessory
对象会包含 。如果您使用的是 在插件库中,您可以获取UsbAccessory
对象, 来配置这些查询:Kotlin
val accessory = UsbManager.getAccessory(intent)
Java
UsbAccessory accessory = UsbManager.getAccessory(intent)
- 不支持 USB 主机 - Android 2.3.4 和开放配件库不支持 USB 主机模式(例如通过
UsbDevice
),但 Android 3.1 支持 USB 主机模式。搭载 Android 2.3.4 的 Android 设备无法充当 USB 主机。该库使 Android 设备能够 仅限外围设备,并且连接的配件可用作 USB 主机 (通过UsbAccessory
)。
若要使用开放配件库开发应用,您需要:
- 最新版本的 Android SDK 工具
- 最新版本的 Google API 插件,其中包含库 本身(用于关联)
- 运行 Android 2.3.4(或 Android 3.1)且带 USB 的实际硬件设备 配件支持,用于针对已连接的设备进行运行时测试
有关如何开发与 USB 交互的应用的完整讨论 请参阅相关的开发者文档。
此外,开发者还可以在 Google Play 上请求过滤,以便其应用不向设备不提供适当配件的用户提供。要请求过滤,请添加以下元素 添加到应用清单中:
<uses-feature android:name="android.hardware.usb.accessory" android:required="true">
API 级别
Android 2.3.4 平台不会递增 API 级别,而是使用与 Android 2.3.3 相同的 API 级别,即 API 级别 10。
如需在应用中使用 API 级别 10 中引入的 API,请执行以下操作: 您需要根据此 API 中提供的 Android 库 最新版本的 Google API 插件,其中还包括 Open 配件库。
根据您的需求,您可能还需要向应用清单中的 <uses-sdk>
元素添加 android:minSdkVersion="10"
属性。如果您的应用仅设计为在 Android 2.3.3 及更高版本上运行,声明该属性可防止应用安装在较低版本的平台上。
有关详情,请参阅什么是 API 水平?