Android 2.3.4 API

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 Manager 將平台下載到您的 SDK。

API 總覽

Android 2.3.4 版為應用程式提供與 Android 2.3.3 (API 級別 10) 相同的架構 API。如需 API 的摘要,請參閱 Android 2.3.3 版本附註

開啟配件程式庫

「開放式配件」是一項新功能,可將連接的周邊裝置與平台上執行的應用程式進行整合。這項功能是以內建於平台的 USB (通用序列匯流排) 堆疊為基礎,以及向應用程式公開的 API。以 USB 主機的形式連接至 Android 裝置上的周邊裝置。

開放式配件已在 Android 3.1 (API 級別 12) 中推出,但可透過選用的外部程式庫 (Open Accessory Library) 為搭載 Android 2.3.4 的裝置提供。程式庫提供一個架構 API,可讓應用程式探索、通訊及管理透過 USB 連接的各種裝置類型。這也提供未直接向 Android 2.3.4 應用程式公開的 Android 平台部分實作 API。

在任何指定裝置上,開放配件庫是選用項目。裝置製造商可選擇是否要在產品中加入開放配件程式庫。這個程式庫與 Android 3.1 的前瞻相容,因此針對支援 USB 配件的裝置,針對 Android 2.3.4 開發的應用程式也能在搭載 Android 3.1 的裝置上正常運作。

開放式配件程式庫提供的 API 是以 Android 3.1 版提供的 Open Accessory API 為基礎。在大部分地區,您可以使用相同的技巧和 API。不過,在 Android 2.3.4 版中為開放式配件程式庫進行開發與標準 USB API 的差異如下:

  • 取得 UsbManager 物件 - 如要在使用外掛程式程式庫時取得 UsbManager 物件,請使用 getInstance() 輔助方法,而非 getSystemService(),例如:

    Kotlin

    val manager = UsbManager.getInstance(this)
    

    Java

    UsbManager manager = UsbManager.getInstance(this);
    
  • 從經過篩選的意圖取得 UsbAccessory:使用意圖篩選器篩選已連結的裝置或配件時,UsbAccessory 物件會包含在傳送至應用程式的意圖中。如果您使用的是外掛程式程式庫,可以透過下列方式取得 UsbAccessory 物件:

    Kotlin

    val accessory = UsbManager.getAccessory(intent)
    

    Java

    UsbAccessory accessory = UsbManager.getAccessory(intent)
    
  • 不支援 USB 主機 - Android 2.3.4 和 Open Accessory 程式庫不支援 USB 主機模式 (例如透過 UsbDevice),但 Android 3.1 支援 USB 主機模式。搭載 Android 2.3.4 的 Android 裝置無法做為 USB 主機運作。這個程式庫可讓 Android 裝置以周邊裝置的形式運作,並在連接配件時以 USB 主機的形式運作 (透過 UsbAccessory)。

如要使用 Open Accessory Library 開發應用程式,您需要:

  • 最新版 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 級別 10) 相同的 API 級別。

如要在應用程式中使用 API 級別 10 中導入的 API,您必須針對最新版 Google API 外掛程式 (包含 Open Accessory 程式庫) 中提供的 Android 程式庫編譯應用程式。

視您的需求而定,您可能還需要在應用程式資訊清單中的 <uses-sdk> 元素中加入 android:minSdkVersion="10" 屬性。如果您的應用程式設計只能在 Android 2.3.3 及以上版本上執行,宣告此屬性可防止應用程式在舊版平台中安裝。

詳情請參閱「什麼是 API 級別?」一節。