API 級別: 15
Android 4.0.3 (ICE_CREAM_SANDWICH_MR1
) 是 Android 4.0 (ICE_CREAM_SANDWICH
) 平台系列的漸進式版本。這個版本包含提供給使用者和開發人員的新功能、API 變更及各種錯誤修正。
對開發人員來說,Android 4.0.3 平台是 Android SDK 的可下載元件。可下載的平台包含 Android 程式庫和系統映像檔,以及一組模擬器外觀等。如要開始開發或測試 Android 4.0.3 版,請使用 Android SDK Manager 將該平台下載到您的 SDK。
API 總覽
下列各節提供 Android 4.0.3 中新 API 的技術總覽。
聯絡人供應程式中的 Social Stream API
使用狀態更新和簽到等社交串流資料的應用程式,現在可以將這項資料與每位使用者的聯絡人同步,在訊息串中提供項目以及每張相片。
包含個別聯絡人社交串流的資料庫表格是由 android.provider.ContactsContract.StreamItems 定義,而 URI 的巢狀結構位於串流項目所屬的 ContactsContract.RawContacts
目錄中。每個社交串流資料表都有數個資料欄,可提供每個串流項目的中繼資料欄,例如代表來源 (顯示圖片)、項目標籤、主要文字內容、關於該項目的留言 (例如其他人的回應) 等。與串流相關聯的相片會儲存在其他表格中,並由 android.provider.ContactsContract.StreamItemPhotos 定義,而這可做為 android.provider.ContactsContract.StreamItems Uri 的子目錄使用。
詳情請參閱 android.provider.ContactsContract.StreamItems 和 android.provider.ContactsContract.StreamItemPhotos。
如要讀取或寫入聯絡人的社群媒體串流項目,應用程式必須在資訊清單檔案中宣告 <uses-permission
android:name="android.permission.READ_SOCIAL_STREAM">
和/或 <uses-permission
android:name="android.permission.WRITE_SOCIAL_STREAM">
,向使用者要求權限。
日曆供應商
- 新增
CalendarContract.Colors
類別來代表日曆供應器中的顏色資料表。類別提供可存取特定帳戶顏色的欄位。顏色會由 COLOR_KEY
參照,對於特定帳戶名稱/類型而言,不得重複。這些值只能由同步轉換介面更新。
- 新增
ALLOWED_AVAILABILITY
和 ALLOWED_ATTENDEE_TYPES
支援廣告交易平台/同步處理。
- 為與會者和
AVAILABILITY_TENTATIVE
新增 TYPE_RESOURCE
(例如會議室),以及活動專用 EVENT_COLOR_KEY
。
CalendarContract.Colors
類別來代表日曆供應器中的顏色資料表。類別提供可存取特定帳戶顏色的欄位。顏色會由 COLOR_KEY
參照,對於特定帳戶名稱/類型而言,不得重複。這些值只能由同步轉換介面更新。ALLOWED_AVAILABILITY
和 ALLOWED_ATTENDEE_TYPES
支援廣告交易平台/同步處理。AVAILABILITY_TENTATIVE
新增 TYPE_RESOURCE
(例如會議室),以及活動專用 EVENT_COLOR_KEY
。主畫面小工具
從 Android 4.0 開始,主畫面小工具不應包含其自己的邊框間距。現在,系統會根據目前螢幕的特性,自動為每個小工具新增邊框間距。這可讓小工具在格線中以更一致的方式呈現。為協助代管主畫面小工具的應用程式,平台提供新的 getDefaultPaddingForWidget()
方法。應用程式可呼叫此方法,在計算分配給小工具的儲存格數量時,取得系統定義的邊框間距和計算。
拼字檢查
- 針對存取拼字檢查工具服務的應用程式,新的
cancel()
方法會取消工作階段中所有待處理和執行拼字檢查工具的工作。 - 針對拼字檢查工具服務,新的建議標記
RESULT_ATTR_HAS_RECOMMENDED_SUGGESTIONS
,可讓服務區分可信度較高的建議和可信度較低的建議。舉例來說,如果輸入字詞不在使用者字典中,但可能提供建議,則拼字檢查工具可以設定標記;或者,如果輸入字詞不在字典中,且包含可能較不實用的建議,則不設定旗標。連接至拼字檢查工具的應用程式可以使用
RESULT_ATTR_HAS_RECOMMENDED_SUGGESTIONS
標記與其他建議屬性,以及getSuggestionsAttributes()
和getSuggestionsCount()
方法,判斷是否要將輸入字詞標示為錯字並提供建議。 - 文字 Span 的新
FLAG_AUTO_CORRECTION
樣式代表自動修正是要套用至使用者輸入/撰寫的字詞/文字。這類建議會以不同的方式轉譯,表示系統正在進行自動修正。
藍牙
新的公開方法 fetchUuidsWithSdp()
和 getUuids()
可讓應用程式判斷遠端裝置支援的功能 (UUID)。如為 fetchUuidsWithSdp()
,系統會在遠端裝置上執行服務探索以取得支援 UUID,然後透過 ACTION_UUID
意圖播送結果。
UI 工具包
新的 setUserVisibleHint()
和 getUserVisibleHint()
方法可讓片段設定提示,指出該片段目前是否可向使用者顯示。系統會延遲開始向使用者顯示的片段,直到可視片段的載入器執行完畢為止。瀏覽權限提示預設為「true」。
圖像
SurfaceTexture
中的新方法setDefaultBufferSize(int, int)
會設定映像檔緩衝區的預設大小。使用Canvas
(透過lockCanvas(Rect)
) 或 OpenGL ES (透過 EGLSurface) 產生圖片時,這個方法可用來設定圖片大小。- 新增 GL_OES_EGL_image_external OpenGL ES 擴充功能的列舉定義:
GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES
、GL_SAMPLER_EXTERNAL_OES
、GL_TEXTURE_BINDING_EXTERNAL_OES
和GL_TEXTURE_EXTERNAL_OES
。
無障礙功能
RemoteViews
的用戶端現在可以使用setContentDescription()
方法,設定並取得加載版面配置中任何檢視畫面的內容說明。getMaxScrollX()
、getMaxScrollY()
、setMaxScrollX()
和setMaxScrollY()
方法可讓應用程式取得及設定AccessibilityRecord
物件的捲動偏移上限。- 啟用觸控探索模式後,新的安全設定
ACCESSIBILITY_SPEAK_PASSWORD
會指出使用者是否要求 IME 朗讀在密碼欄位中輸入的文字,即使未使用耳機亦然。根據預設,除非有使用耳機,否則系統不會朗讀密碼文字。
文字轉語音
- 新增用於查詢及啟用網路 TTS 支援的新方法
getFeatures()
。 - 新增事件監聽器類別
UtteranceProgressListener
,引擎可以註冊,以便接收語音合成錯誤通知。
資料庫
- 新增的
CrossProcessCursorWrapper
類別可讓內容供應器更有效率地傳回跨程序查詢的結果。新類別是實用的建構區塊,用於包裝遊標,這些遊標將會被遠端處理。還能以公開透明的方式將一般Cursor
物件轉換為CrossProcessCursor
物件。CrossProcessCursorWrapper
類別可以修正應用程式實作內容供應器時常見的效能問題和錯誤。 CursorWindow(java.lang.String)
建構函式現在會使用名稱字串做為輸入。系統不會再區分本機和遠端遊標視窗,因此CursorWindow(boolean)
現已淘汰。
情境
新增用於指定裝置上常見應用程式類型的類別,例如 CATEGORY_APP_BROWSER
、CATEGORY_APP_CALENDAR
、CATEGORY_APP_MAPS
等。
鏡頭
MediaMetadataRetriever
會新增常數METADATA_KEY_LOCATION
,讓應用程式存取圖片或影片的位置資訊。CamcorderProfile
會新增 QVGA (320x240) 解析度設定檔。品質等級是以QUALITY_QVGA
. 和QUALITY_TIME_LAPSE_QVGA
常數表示。- 新的
setVideoStabilization()
、getVideoStabilization()
和isVideoStabilizationSupported()
方法可讓您檢查及管理Camera
的影片防震功能。
權限
以下是新的權限:
- android.Manifest.permission#READ_SOCIAL_STREAM 和 android.Manifest.permission#WRITE_SOCIAL_STREAM:允許同步轉接程式讀取及寫入共用聯絡人供應程式中的聯絡人的社交串流資料。
如需 Android 4.0.3 (API 級別 15) 中所有 API 變更的詳細資料,請參閱 API 差異報表。
API 級別
Android 4.0.3 API 會指派一組儲存在系統中的整數 ID (15),這個 ID 稱為「API 級別」,可讓系統在安裝應用程式前,正確判斷應用程式是否與系統相容。
如要在應用程式中使用 Android 4.0.3 版中導入的 API,您必須針對支援 API 級別 15 或更高級別的 Android 平台編譯應用程式。視您的需求而定,您可能還需要在 <uses-sdk>
元素中加入 android:minSdkVersion="15"
屬性。
詳情請參閱 API 級別文件。