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 的技術總覽。
Google 聯絡人供應程式中的 Social Stream API
使用社群串流資料 (例如狀態更新和簽到) 的應用程式現在可以將這些資料與每位使用者的聯絡人同步處理,在訊息串中提供每個項目的項目和相片。
包含個別聯絡人的社群串流的資料庫資料表是由 android.provider.ContactsContract.StreamItems 定義,其以巢狀結構嵌入串流項目所屬的 ContactsContract.RawContacts
目錄中。每個社交串流資料表都包含多個串流項目的中繼資料欄,例如代表來源的圖示 (顯示圖片)、項目的標籤、主要文字內容、項目的評論 (例如其他使用者的回覆) 等。與串流相關聯的相片會儲存在另一個表格,由 android.provider.ContactsContract.StreamItemPhotos 定義為 android.provider.ContactsContract.StreamItems 的子目錄中。
詳情請參閱 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
,以便支援廣告交易平台/同步。
- 為參與者新增
TYPE_RESOURCE
(例如會議室)、AVAILABILITY_TENTATIVE
,以及為活動新增 EVENT_COLOR_KEY
。
CalendarContract.Colors
,以代表日曆供應器中的顏色表格。類別可提供欄位,用於存取特定帳戶可用的顏色。顏色由 COLOR_KEY
參照,每個帳戶名稱/類型不得重複。這些值只能透過同步轉換介面更新。ALLOWED_AVAILABILITY
和 ALLOWED_ATTENDEE_TYPES
,以便支援廣告交易平台/同步。TYPE_RESOURCE
(例如會議室)、AVAILABILITY_TENTATIVE
,以及為活動新增 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()
方法設定,並取得加載版面配置中任何檢視畫面的內容說明。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 儲存在系統本身中。這種 ID 稱為「API 級別」,可讓系統在安裝應用程式前,正確判斷應用程式是否與系統相容。
如要在應用程式中使用 Android 4.0.3 中導入的 API,您需要針對支援 API 級別 15 以上的 Android 平台編譯應用程式。視您的需求而定,您可能還需要在 <uses-sdk>
元素中加入 android:minSdkVersion="15"
屬性。
詳情請參閱「API 級別」文件。