Android 2.3.3 API

API 级别10

Android 2.3.3 (GINGERBREAD_MR1) 是一个小型功能版本,向 Android 2.3 平台添加了多项改进和 API。

对于开发者而言,Android 2.3.3 平台可作为 Android SDK 的可下载组件提供。可下载平台包括一个 Android 库和系统映像,以及一组模拟器皮肤等。要开始针对 Android 2.3.3 进行开发或测试,请使用 Android SDK 管理器将该平台下载到您的 SDK 中。

API 概览

以下各部分从技术方面概要介绍了 2.3.3 为开发者的新变化,包括自上一个版本以来框架 API 中的新功能和变更。

近距离无线通信 (NFC)

Android 2.3.3 改进了对 NFC 的支持并扩大了支持,使应用能够以新的方式与更多类型的标签进行交互。

通过一组全面的新 API,应用可以对更多标准标签技术的读写权限,包括:

  • NFC-A (ISO 14443-3A)
  • NFC-B (ISO 14443-3B)
  • NFC-F (JIS 6319-4)
  • NFC-V (ISO 15693)
  • ISO-DEP (ISO 14443-4)
  • MIFARE Classic
  • MIFARE Ultralight
  • NFC Forum NDEF 标签

该平台还提供有限的点对点通信协议和 API。前台 activity 可以使用该 API 注册一条 NDEF 消息,当其他 NFC 设备连接时,该消息会被推送到该设备。

现在,高级标签调度使应用能够在发现 NFC 标签时更好地控制其启动方式和时间。以前,Android 平台使用单步 intent 分派来通知感兴趣的应用系统已发现代码。该平台现在采用一个四步流程,可让前台应用在标签事件传递到任何其他应用 (android.nfc.NfcAdapter.enableForegroundDispatch()) 之前对其进行控制。 新的调度流程还让应用能够根据两项新的 intent 操作(android.nfc.action.NDEF_DISCOVEREDandroid.nfc.action.TECH_DISCOVERED)监听特定的标签内容和标记技术。

NFC API 在 android.nfcandroid.nfc.tech 软件包中提供。关键类包括:

  • NfcAdapter:表示设备上的 NFC 硬件。
  • NdefMessage:表示 NDEF 数据消息,这是在设备和标签之间传输数据的“记录”的标准格式。NDEF 消息,许多不同类型的 NDEF 记录。 应用可以从 NDEF_DISCOVEREDTECH_DISCOVEREDTAG_DISCOVERED intent 接收这些消息。
  • NdefRecord,在 NdefMessage 中传递,用于描述共享的数据类型并携带数据本身。
  • Tag:表示设备扫描到的标签。根据底层代码技术,支持多种类型的代码。
  • TagTechnology - 此接口可让应用根据标记中存在的技术访问标记属性和 I/O 操作。如需查看 Android 2.3.3 中支持的标签技术的完整列表,请参阅 android.nfc.tech

NFC 通信依赖于设备硬件中的无线技术,并非所有 Android 设备中都有提供。调用 getDefaultAdapter(Context) 时,不支持 NFC 的 Android 设备会返回 null 对象,而 context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_NFC) 会返回 false。但是,无论底层硬件支持如何,NFC API 始终存在。

如需使用 NFC API,应用必须通过在其清单文件中声明 <uses-permission android:name="android.permission.NFC"> 向用户请求权限。

此外,开发者可以在 Google Play 上请求过滤,这样,如果设备不支持 NFC,用户就无法发现其应用。如需请求过滤,请将 <uses-feature android:name="android.hardware.nfc" android:required="true"> 添加到应用的清单中。

如需了解详情,请参阅 NFC 开发者指南。

蓝牙

Android 2.3.3 添加了对蓝牙非安全套接字连接的平台和 API 支持。这样,应用就可以与可能不提供身份验证界面的简单设备进行通信。如需了解详情,请参阅 createInsecureRfcommSocketToServiceRecord(java.util.UUID)listenUsingInsecureRfcommWithServiceRecord(java.lang.String, java.util.UUID)

图形

  • 新的 BitmapRegionDecoder 类允许应用从图片中解码矩形区域。当原始图片很大且应用只需要图片的某些部分时,该 API 特别有用。
  • BitmapFactory.Options 中新增了 inPreferQualityOverSpeed 字段,可让应用在 JPEG 解码中使用更准确但速度稍慢的 IDCT 方法。这反过来又可以提高重建图像的质量。

媒体框架

语音识别

Speech-recognition API 包含新的常量,可让您以新的方式管理语音搜索结果。虽然正常使用语音识别不需要新常量,但您可以使用这些常量在应用中提供不同的语音搜索结果视图。如需了解详情,请参阅 RecognizerResultsIntent

API 级别

Android 2.3.3 平台提供了框架 API 的更新版本。Android 2.3.3 API 被分配一个整数标识符 10,该标识符存储在系统本身中。此标识符称为“API 级别”,可让系统在安装应用之前正确确定应用是否与系统兼容。

若要在您的应用中使用 Android 2.3.3 中引入的 API,您需要根据 Android 2.3.3 SDK 平台中提供的 Android 库编译应用。根据您的需求,您可能还需要在应用清单中向 <uses-sdk> 元素添加一个 android:minSdkVersion="10" 属性。如果您的应用设计为仅在 Android 2.3 及更高版本上运行,则声明该属性会阻止应用安装在较低版本的平台上。

如需了解详情,请参阅什么是 API 级别?