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 Manager 將平台下載至 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 經典款
- MIFARE 超輕
- NFC 論壇 NDEF 標記
這個平台也提供有限的點對點通訊協定和 API。前景活動可以使用 API 註冊 NDEF 訊息,這些訊息會在連線後推送至其他 NFC 裝置。
進階標記分派功能可讓應用程式進一步控管發現 NFC 標記時,啟動的方式和時機。之前,平台會使用單一步驟意圖調度功能,將找到標記的應用程式通知感興趣的應用程式。平台現在會使用四個步驟程序,讓前景應用程式在將標記事件傳送至任何其他應用程式 (android.nfc.NfcAdapter.enableForegroundDispatch()
) 之前先行控制標記事件。
新的分派程序還可讓應用程式根據兩個新的意圖動作 (android.nfc.action.NDEF_DISCOVERED
和 android.nfc.action.TECH_DISCOVERED
) 監聽特定標記內容及標記技術。
android.nfc
和 android.nfc.tech
套件提供 NFC API。主要類別如下:
NfcAdapter
,代表裝置上的 NFC 硬體。NdefMessage
代表 NDEF 資料訊息,這是「記錄」傳輸資料在裝置和標記之間傳輸的標準格式。某些不同類型的 NDEF 記錄的 NDEF 訊息。應用程式可以從NDEF_DISCOVERED
、TECH_DISCOVERED
或TAG_DISCOVERED
意圖接收這些訊息。- 在
NdefMessage
中提供NdefRecord
,用於說明要分享的資料類型,並承載資料本身。 Tag
,代表裝置掃描的標記。根據基礎標記技術,可支援多種類型的標記。TagTechnology
介面,可讓應用程式根據標記中的技術,存取標記屬性和 I/O 作業。如需 Android 2.3.3 所支援代碼技術的完整清單,請參閱android.nfc.tech
。
NFC 通訊必須使用裝置硬體中的無線技術,而且不一定適用於所有 Android 裝置。不支援 NFC 的 Android 裝置會在呼叫 getDefaultAdapter(Context)
時傳回空值物件,而 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 支援。如此一來,應用程式就能與未提供驗證 UI 的簡單裝置進行通訊。詳情請參閱 createInsecureRfcommSocketToServiceRecord(java.util.UUID)
和 listenUsingInsecureRfcommWithServiceRecord(java.lang.String, java.util.UUID)
。
圖像
- 新的
BitmapRegionDecoder
類別可讓應用程式解碼圖片中的矩形區域。如果原始圖片較大,且應用程式只需要部分圖片,這個 API 特別實用。 BitmapFactory.Options
中的新inPreferQualityOverSpeed
欄位可讓應用程式在 JPEG 解碼中使用更準確但速度稍慢的 IDCT 方法。進而改善重建的圖片品質。
媒體架構
- 新的
MediaMetadataRetriever
類別提供整合式介面,可從輸入媒體檔案擷取影格和中繼資料。 MediaRecorder.AudioEncoder
和MediaRecorder.OutputFormat
包含用於指定 AMR 寬頻和 AAC 格式的新欄位。
語音辨識
語音辨識 API 包含新的常數,可讓您以新方式管理語音搜尋結果。雖然一般使用語音辨識功能並不需要新的常數,但您可以使用常數在應用程式中提供不同的語音搜尋結果檢視。詳情請參閱 RecognizerResultsIntent
。
API 級別
Android 2.3.3 平台提供更新版本的架構 API。Android 2.3.3 API 會獲派一個整數 ID (10),儲存在系統本身中。這個 ID 稱為「API 級別」,可讓系統在安裝應用程式之前正確判斷應用程式是否與系統相容。
如要在應用程式中使用 Android 2.3.3 中導入的 API,您需要針對 Android 2.3.3 SDK 平台提供的 Android 程式庫編譯應用程式。視您的需求而定,您可能還需要在應用程式資訊清單中的 <uses-sdk>
元素中加入 android:minSdkVersion="10"
屬性。如果您的應用程式設計為僅在 Android 2.3 及以上版本中執行,宣告這項屬性可避免在舊版平台上安裝應用程式。
詳情請參閱「什麼是 API 級別?」一文。