API 級別: 10
Android 2.3.4 (GINGERBREAD_MR1
) 是一個維護版本,在 Android 2.3 平台中加入多項錯誤修正和修補程式,而且不會因為 Android 2.3.3 版本上的 API 變更而出現任何錯誤。此外,Android 2.3.4 透過選用的 Open Accessory Library,為行動裝置提供 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 版本資訊。
開啟配件程式庫
Open Accessory 是一種新功能,可將連結的周邊裝置與平台上執行的應用程式整合。這項能力是以平台內建的 USB (通用序列匯流排) 堆疊和公開應用程式的 API 為基礎。連接至 Android 裝置的周邊裝置會以 USB 主機的形式連線。
Open Accessory 已在 Android 3.1 (API 級別 12) 中推出,但透過選用的外部程式庫 (Open Accessory Library) 提供給搭載 Android 2.3.4 的裝置。這個程式庫會公開架構 API,讓應用程式探索、與各種透過 USB 連線的裝置類型通訊,以及管理這些裝置。它也針對 Android 2.3.4 中未直接公開給應用程式的 Android 平台部分,提供 API 實作。
在任何指定裝置上皆可選用 Open Accessory Library。裝置製造商可以選擇是否要在產品中納入或排除開放式配件程式庫。這個程式庫與 Android 3.1 向前相容,因此如果裝置支援 USB 配件,則針對 Android 2.3.4 開發的應用程式會在搭載 Android 3.1 的裝置上正常運作。
Open Accessory 程式庫提供的 API 是以 Android 3.1 中提供的 Open Accessory API 為基礎。在大多數情況下,您可以使用相同的技術和 API。不過,在 Android 2.3.4 上開發 Open Accessory Library 與標準 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 和開放式配件程式庫不支援 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 級別,即 API 級別 10。
如要在應用程式中使用 API 級別 10 導入的 API,您必須根據最新版 Google API 外掛程式 (包含 Open Accessory 程式庫) 中提供的 Android 程式庫編譯應用程式。
視需求而定,您可能還需要在應用程式資訊清單的 <uses-sdk>
元素中加入 android:minSdkVersion="10"
屬性。如果您的應用程式設計為僅適用於 Android 2.3.3 及以上版本,宣告這個屬性可避免應用程式安裝在較舊版本的平台中。
詳情請參閱「什麼是 API 級別?」一文。