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
,用於代表 Calendar Provider 中的色彩表格。這個類別提供可存取特定帳戶可用的顏色的欄位。顏色會由 COLOR_KEY
參照,且每個帳戶名稱/類型只能使用不重複的顏色。只有同步處理器才能更新這些值。
- 新增
ALLOWED_AVAILABILITY
和 ALLOWED_ATTENDEE_TYPES
,以便支援交換/同步處理。
- 為與會者和
AVAILABILITY_TENTATIVE
新增 TYPE_RESOURCE
(例如會議室),以及為活動新增 EVENT_COLOR_KEY
。
CalendarContract.Colors
,用於代表 Calendar Provider 中的色彩表格。這個類別提供可存取特定帳戶可用的顏色的欄位。顏色會由 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()
方法,判斷是否要將輸入字詞標示為錯字並提供建議。 - 文字區塊的新
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()
方法,設定及取得在已充氣版面配置中任何 View 的內容說明。getMaxScrollX()
、getMaxScrollY()
、setMaxScrollX()
和setMaxScrollY()
方法可讓應用程式取得及設定AccessibilityRecord
物件的最大捲動偏移量。- 啟用觸控探索模式後,新的安全設定
ACCESSIBILITY_SPEAK_PASSWORD
會指出使用者是否要求 IME 朗讀密碼欄位中輸入的文字,即使未使用耳機也一樣。根據預設,除非使用耳機,否則系統不會朗讀密碼文字。
文字轉語音
- 新增方法
getFeatures()
,用於查詢及啟用網路 TTS 支援。 - 新增事件監聽器類別
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 級別」說明文件。