Android 1.6 r2
Google Inc.
compatibility@android.com
目錄
1. 簡介 ................................................................................................................ 4
2. 資源 ...................................................................................................................... 4
3. 軟體 ................................................................................................................ 5
3.1. 受管理的 API 相容性 ................................................................................... 5
3.2. 軟體 API 相容性 ............................................................................................ 6
3.2.1. 權限...................................................................................................... 6
3.2.2. 建構參數 ............................................................................................. 6
3.2.3. 意圖相容性................................................................................................ 8
3.2.3.1. 核心應用程式意圖 ................................................................................ 8
3.2.3.2. 意圖覆寫 ......................................................................................... 8
3.2.3.3. 意圖命名空間.................................................................................... 8
3.2.3.4. 廣播意圖 ...................................................................................... 9
3.3. 原生 API 相容性 ........................................................................................ 9
3.4. Web API 相容性 ........................................................................................... 9
3.5. API 行為相容性............................................................................................... 10
3.6. API 命名空間................................................................................................ 10
3.7. 虛擬機器相容性 ............................................................................. 11
3.8. 使用者介面相容性 ................................................................................ 11
3.8.1. 小工具 ........................................................................................................... 11
3.8.2. 通知 ................................................................................................ 12
3.8.3. 搜尋 ............................................................................................................. 12
3.8.4. 浮動式訊息................................................................................................ 12
4. 參考軟體相容性 ............................................................................. 12
5. 應用程式封裝相容性 ........................................................................ 13
6. 多媒體相容性............................................................................................ 13
7. 開發人員工具相容性................................................................................................ 14
8. 硬體相容性 ................................................................................................ 15
8.1. 螢幕 ................................................................................................................ 15
8.1.1. 標準多媒體廣告活動設定 ................................................................ 15
8.1.2. 非標準顯示設定 ................................................................ 16
8.1.3. 顯示指標............................................................................................... 16
8.2. 鍵盤 ............................................................................................................... 16
8.3. 非觸控導覽 .......................................................................................... 16
8.4. 螢幕方向................................................................................................ 17
8.5. 觸控螢幕輸入................................................................................................ 17
8.6. USB ........................................................................................................ 17
8.7. 瀏覽鍵 ................................................................................................ 17
8.8. WiFi ................................................................................................................ 17
8.9. 相機 ................................................................................................................. 18
8.9.1. 非自動對焦相機 ............................................................................... 18
8.10. 加速計................................................................................................ 18
8.11. Compass ............................................................................................. 19
8.12. GPS ...................................................................................................................... 19
8.13. 電話通訊系統............................................................................................................ 19
8.14. 音量控制項................................................................................................ 19
9. 效能相容性............................................................................................. 19
10. 安全性模型相容性 ................................................................................... 20
10.1. 權限 ........................................................................................................ 20
10.2. 使用者和程序隔離 ................................................................................ 20
10.3. 檔案系統權限................................................................................................ 21
11. Compatibility Test Suite ........................................................................................... 21
12. 聯絡我們 ................................................................................................................. 21
附錄 A:必要的應用程式意圖 ................................................................ 22
附錄 B:必要的廣播意圖 ................................................................ 0
附錄 C:未來考量事項................................................................................ 0
1. 非電話裝置 ................................................................................................ 30
2. 藍牙相容性 .......................................................................................... 30
3. 必要的硬體元件................................................................................ 30
4. 應用程式範例 ................................................................................................ 30
5. 觸控螢幕 ................................................................................................ 30
6. 成效............................................................................................................. 31
1. 簡介
本文件列舉了行動電話必須符合的條件,才能
與 Android 1.6 相容。本定義假設您熟悉 Android 相容性計畫
[資源,1]。
使用「必須」、「不得」、「必要」、「應」、「應當」、「不得」、「應當」、「不應」、「建議」、「可」和「可選」等詞彙,是根據 RFC2119 中定義的 IETF 標準 [資源,2]。
在本文件中,「裝置實作者」或「實作者」是指開發
搭載 Android 1.6 的硬體/軟體解決方案的個人或機構。「裝置實作」或「實作」是指所開發的
硬體/軟體解決方案。
如要與 Android 1.6 相容,裝置實作方式如下:
1.必須符合本相容性定義中列出的規定,包括透過參照整合的任何文件
。
2.必須通過 Android 相容性測試套件 (CTS),該套件可從 Android 開放原始碼計畫 [資源, 3] 取得。
CTS 會測試本文
中所述的大部分但非全部元件。
如果此定義或 CTS 未提供相關資訊、含糊不清或不完整,則裝置
實作者有責任確保與現有實作項目相容。因此,Android 開放原始碼計畫 [Resources, 4] 是 Android 的參考和首選 實作項目。
強烈建議裝置
實作者根據 Android 開放原始碼計畫提供的「上游」原始碼
進行實作。雖然某些元件理論上可以用其他實作項目取代,但我們強烈建議您不要這麼做,因為通過 CTS 測試會變得更加困難。
實作者有責任確保與標準 Android 實作項目 (包括 Compatibility Test Suite 和其他項目) 完全相容。
2. 資源
這個相容性定義參照了可在此取得的多項資源。
1.Android 相容性計畫總覽:https://sites.google.com/a/android.com/compatibility/
how-it-works
2. IETF RFC2119 需求等級:http://www.ietf.org/rfc/rfc2119.txt
3.相容性測試套件:http://sites.google.com/a/android.com/compatibility/compatibility-test-
suite--cts
4.Android 開放原始碼計畫:http://source.android.com/
5.API 定義和說明文件:http://developer.android.com/reference/packages.html
6.內容提供者:http://code.google.com/android/reference/android/provider/package-
summary.html
7.可用資源:http://code.google.com/android/reference/available-resources.html
8.Android 資訊清單檔案:http://code.google.com/android/devel/bblocks-manifest.html
9.Android 權限參考資料:http://developer.android.com/reference/android/
Manifest.permission.html
10.建構常數:http://developer.android.com/reference/android/os/Build.html
11。WebView:http://developer.android.com/reference/android/webkit/WebView.html
12。齒輪瀏覽器擴充功能:http://code.google.com/apis/gears/
13.Dalvik 虛擬機器規格,可在原始碼
checkout 的 dalvik/docs 目錄中找到;也可以前往 http://android.git.kernel.org/?p=platform/
dalvik.git;a=tree;f=docs;h=3e2ddbcaf7f370246246f9f03620a7caccbfcb12;hb=HEAD
14。應用程式小工具:http://developer.android.com/guide/practices/ui_guidelines/widget_design.html
15.通知:http://developer.android.com/guide/topics/ui/notifiers/notifications.html
16.狀態列圖示樣式指南:http://developer.android.com/guide/practices/ui_guideline
/icon_design.html#statusbarstructure
17.搜尋管理工具:http://developer.android.com/reference/android/app/SearchManager.html
18.吐司:http://developer.android.com/reference/android/widget/Toast.html
19.適用於 Android 的應用程式:http://code.google.com/p/apps-for-android
20。Android APK 檔案說明:http://developer.android.com/guide/topics/fundamentals.html
21。Android Debug Bridge (adb):http://code.google.com/android/reference/adb.html
22. Dalvik 偵錯監視程序服務 (ddms):http://code.google.com/android/reference/ddms.html
23.猴子:http://developer.android.com/guide/developing/tools/monkey.html
24.顯示器獨立說明文件:
25.設定常數:http://developer.android.com/reference/android/content/res/
Configuration.html
26.顯示器規格:http://developer.android.com/reference/android/util/DisplayMetrics.html
27.相機:http://developer.android.com/reference/android/hardware/Camera.html
28。感應器座標空間:http://developer.android.com/reference/android/hardware/
SensorEvent.html
29.Android 安全性和權限參考資料:http://developer.android.com/guide/topics/security/
security.html
這些資源大多直接或間接衍生自 Android 1.6 SDK,且功能上與該 SDK 說明文件中的資訊相同。
在任何情況下,如果此
相容性定義與 SDK 說明文件不一致,則以 SDK 說明文件為
準據。上述參考資料提供的任何技術細節,都會視為包含
的一部分,並納入本相容性定義。
3. 軟體
Android 平台包含一組受管理的 (「硬性」) API,以及一組所謂的「軟性」API
,例如 Intent 系統、原生程式碼 API 和網路應用程式 API。本節將詳細說明與相容性相關的硬性和
軟性 API,以及某些其他相關的技術和使用者介面
行為。裝置實作項目必須遵守本節中的所有規定。
3.1. 受管理的 API 相容性
受管理 (以 Dalvik 為基礎) 的執行環境是 Android 應用程式的主要載具。
Android 應用程式設計介面 (API) 是一系列 Android 平台介面,可向在受管理 VM 環境中執行的
應用程式公開。裝置實作項目必須提供完整的
實作項目,包括所有已記錄的行為,以及 Android
1.6 SDK 公開的任何已記錄 API,例如:
1.核心 Android Java 語言 API [Resources, 5].
2.內容供應器 [Resources, 6]。
3.資源 [Resources, 7].
4.AndroidManifest.xml 屬性和元素 [Resources, 8]。
裝置實作不得省略任何受管理的 API、變更 API 介面或簽章、偏離
說明的行為,或包含無操作,除非本相容性
定義明確允許。
3.2. 軟性 API 相容性
除了第 3.1 節所述的受管理 API,Android 也包含重要的「軟性」
API,以 Intent、權限和類似的 Android 應用程式功能形式呈現,這些功能無法在應用程式編譯時強制執行。
本節將詳細說明與 Android 1.6 相容所需的「軟性」API 和系統
行為。裝置實作項目必須符合本節所述的所有
規定。
3.2.1. 權限
裝置實作者必須支援並強制執行所有權限常數,如
權限參考資料頁面所述 [資源,第 9 節]。請注意,第 10 節列出與 Android 安全性模式相關的其他規定。
3.2.2. 建構參數
Android API 包含 android.os.Build 類別 [Resources, 10] 上的多個常數,
用於描述目前的裝置。為在各項裝置
實作中提供一致且有意義的值,下表列出這些值的格式額外限制,
裝置實作必須符合這些限制。
參數
註解
目前執行的 Android 系統版本,以人類可讀的
android.os.Build.VERSION.RELEASE
格式呈現。如果是 Android 1.6,這個欄位必須包含字串值
「1.6」。
目前執行中的 Android 系統版本,格式為
android.os.Build.VERSION.SDK
,可供第三方應用程式程式碼存取。針對 Android 1.6,這個欄位
必須設為整數值 4。
裝置實作者選擇的值,用於指定目前執行 Android 系統的特定版本
,以人類可讀格式呈現。
這個值絕對不可用於向最終使用者發布的不同版本。
android.os.Build.VERSION.INCREMENTAL這個欄位的常見用途是指出系統用來產生建構項目的建構編號或
來源控制變更 ID。這個欄位沒有特定格式要求,但
不得為空值或空字串 ("")。
裝置導入者選擇的值,用於識別裝置使用的特定內部硬體,並以人類可讀的格式呈現。
這個欄位的可能用途是
android.os.Build.BOARD
,用於指出為
裝置供電的板卡的特定修訂版本。這個欄位沒有特定格式的要求,
但不得為空值或空字串 ("")。
裝置實作者選擇的值,用於識別
android.os.Build.BRAND
公司、機構、個人等裝置製造商的名稱,格式為
人類可讀格式。這個欄位的可能用途是指出 OEM
和/或銷售裝置的電信業者。這個欄位的
特定格式沒有任何規定,但不得為空值或空白
字串 ("")。
裝置實作者選擇的值,用於識別裝置的特定
設定或修訂版本 (有時稱為「工業
android.os.Build.DEVICE
設計」)。這個欄位的具體格式
沒有任何規定,但不得為空值或空字串 ("")。
這個字串可唯一識別此版本。應以
人類可讀的方式呈現。必須採用以下範本:
$(PRODUCT_BRAND)/$(PRODUCT_NAME)/$(PRODUCT_DEVICE)/
$(TARGET_BOOTLOADER_BOARD_NAME):$(PLATFORM_VERSION)/
$(BUILD_ID)/$(BUILD_NUMBER):$(TARGET_BUILD_VARIANT)/
android.os.Build.FINGERPRINT
$(BUILD_VERSION_TAGS)
例如:acme/mydevicel/generic/generic:Donut/ERC77/
3359:userdebug/test-keys
指紋不得包含空格。如果上述
範本中的其他欄位含有空格,則應在指紋中以 ASCII
底線字元 ("_") 取代。
字串,用於以人類可讀的格式 (
android.os.Build.HOST
) 識別建構所在主機。這個
欄位沒有特定格式規定,但不得為空值或空字串 ("")。
裝置導入者選擇的 ID,用於參照特定的
版本,以人類可讀的格式呈現。這個欄位可以與
android.os.Build.VERSION.INCREMENTAL 相同,但應為
android.os.Build.ID
值,以便向使用者提供一些有意義的資訊。這個欄位沒有特定格式要求,但
不得為空值或空字串 ("")。
裝置導入者選擇的值,包含使用者熟知的
裝置名稱。
這個名稱應與
android.os.Build.MODEL
相同,因為裝置就是以這個名稱行銷並銷售給使用者。這個欄位沒有特定格式要求,但必須
非空值或空字串 ("")。
裝置實作者選擇的值,包含裝置的開發
名稱或代碼名稱。
必須是人類可讀的格式,但不一定是
android.os.Build.PRODUCT
,也不一定是供使用者查看。這個欄位沒有特定格式要求
,但不得為空值或空字串 (
"")。
裝置實作者選擇的標記以半形逗號分隔的清單,可進一步區分版本。
例如「unsigned,debug」。這個欄位
android.os.Build.TAGS
不得為空值或空字串 (""),但單一標記 (例如
"release") 則無妨。
android.os.Build.TIME
代表建構作業發生時間的時間戳記。
裝置實作者選擇的值,可指定版本的執行階段
設定。這個欄位應包含下列其中一個值:
android.os.Build.TYPE
,對應到三種常見的 Android 執行階段設定:「user」、「userdebug」或「eng」。
產生
android.os.Build.USER
版本的使用者 (或自動化使用者) 的名稱或使用者 ID。這個欄位沒有特定格式規定,
但不得為空值或空字串 ("")。
3.2.3. 意圖相容性
Android 會使用意圖,在應用程式之間實現鬆散耦合的整合。本節說明
與意圖模式相關的規定,裝置實作必須遵守這些規定。
「遵循」是指裝置實作者必須提供 Android 活動、服務或其他
元件,指定相符的意圖篩選器,並為每個
指定的意圖模式繫結及實作正確的行為。
3.2.3.1. 核心應用程式意圖
Android 上游專案定義了許多核心應用程式,例如電話撥號程式、日曆、
聯絡簿、音樂播放器等。裝置導入者可以將這些應用程式替換為
的其他版本。
不過,任何這類替代版本都必須遵循上游
專案提供的相同意圖模式。(舉例來說,如果裝置含有其他音樂播放器,則仍須遵循第三方應用程式發出的 Intent 模式
,才能選取歌曲。)裝置實作項目必須支援附錄 A 中列出的所有意圖模式
。
3.2.3.2. 意圖覆寫值
Android 是可擴充的平台,因此裝置導入者必須允許第三方應用程式覆寫
附錄 A 中所述的每個意圖模式。上游 Android 開放原始碼專案
預設允許這項功能;裝置實作者不得為系統應用程式
使用這些 Intent 模式時附加特殊權限,或禁止第三方應用程式繫結至這些模式並接管控制權。
這項禁止規定特別包括停用「選擇器」使用者介面,該介面可讓使用者在多個應用程式中選取,這些應用程式都會處理相同的意圖模式。
3.2.3.3. 意圖命名空間
裝置實作者絕對不可納入任何 Android 元件,因為這些元件會使用 android.* 命名空間中的 ACTION、CATEGORY 或其他關鍵字串,處理任何新的意圖或
廣播意圖模式。
裝置實作者絕對不可納入任何 Android 元件,因為這些元件會使用屬於其他組織的套件空間中的 ACTION、CATEGORY 或其他關鍵字串,處理任何新的意圖或
廣播意圖模式。
裝置實作者不得變更或擴充附錄 A 或 B 中列出的任何 Intent
模式。
這項禁止規定與第 3.6 節中針對 Java 語言類別所述的規定類似。
3.2.3.4. 廣播意圖
第三方應用程式會依賴平台廣播特定意圖,以便通知應用程式
硬體或軟體環境的變更。相容的 Android 裝置必須在回應適當的系統事件時,發布公開廣播
Intent。
附錄 B
提供必要的廣播意圖清單,但請注意,SDK 可能會定義其他廣播意圖,而您也必須遵守這些意圖。
3.3. 原生 API 相容性
在 Dalvik 中執行的受管理程式碼可呼叫應用程式 .apk 檔案中提供的原生程式碼,做為針對適當裝置硬體架構編譯的 ELF
.so 檔案。裝置實作項目必須包含
支援在受管理環境中執行的程式碼,以便使用標準 Java
原生介面 (JNI) 語意,呼叫原生程式碼。以下 API 必須提供給原生程式碼:
• libc (C 程式庫)
• libm (數學程式庫)
• JNI 介面
• libz (Zlib 壓縮)
• liblog (Android 記錄)
• C++ 的最低支援
• OpenGL ES 1.1
這些程式庫必須與 Android 開放原始碼專案在 Bionic 中提供的版本相容,包括來源相容性 (即標頭相容性) 和二進位相容性 (針對特定
處理器架構)。由於 Bionic 實作與其他實作 (例如 GNU C
程式庫) 不完全相容,因此裝置實作者應使用 Android 實作。
如果裝置導入者使用這些程式庫的
不同導入方式,則必須確保標頭和二進位檔相容性。
原生程式碼的相容性很難處理。因此,我們再次強調,我們強烈建議裝置實作者使用上述程式庫的上游實作項目,以確保相容性。
3.4. Web API 相容性
許多開發人員和應用程式都會在使用者介面中使用 android.webkit.WebView 類別的行為 [Resources,
11],因此 WebView 實作必須與 Android
實作相容。Android 開放原始碼實作項目會使用 WebKit 轉譯引擎版本來
實作 WebView。
由於無法為網路瀏覽器開發完整的測試套件,因此裝置導入者
必須在 WebView 實作中使用 WebKit 的特定上游版本。具體而言:
• WebView 必須使用 Android 1.6 上游 Android 開放原始碼樹狀結構的 528.5 以上 WebKit 版本。
這個版本包含 WebView 的特定功能和安全性修正項目。
• WebView 回報的使用者代理程式字串必須採用以下格式:
Mozilla/5.0 (Linux;U;Android 1.6;<language>-<country>;<device
name>;Build/<build ID>) AppleWebKit/528.5+ (KHTML,如 Gecko)
Version/3.1.2 Mobile Safari/525.20.1
◦ "<device name>" 字串必須與
android.os.Build.MODEL 的值相同
◦ "<build ID>" 字串必須與 android.os.Build.ID 的值相同。
◦ "<language>" 和 "<country>" 字串應遵循國家/地區代碼和語言的一般慣例,並應參照要求時裝置的目前語言代碼。
實作項目可能會在獨立的瀏覽器應用程式中提供自訂使用者代理程式字串。
此外,獨立瀏覽器可能會採用其他瀏覽器技術 (例如 Firefox、
Opera 等)不過,即使您提供替代瀏覽器應用程式,提供給第三方應用程式的 WebView 元件
仍必須以 WebKit 為基礎,如上所述。
獨立瀏覽器應用程式應支援 Gears [資源 12],且可
支援部分或全部 HTML5。
3.5. API 行為相容性
每種 API 類型 (受管理、軟體、原生和網頁) 的行為都必須與 Android 的
偏好實作相符,可從 Android 開放原始碼專案取得。
以下是一些特定的相容性範圍:
• 裝置不得變更標準 Intent 的行為或意義
• 裝置不得變更特定類型的系統元件 (例如 Service、Activity、ContentProvider 等) 的生命週期或生命週期語義
• 裝置不得變更特定權限的語意
上述清單並非完整清單,裝置實作者必須負責確保行為
相容性。因此,裝置實作者應盡可能使用
Android 開放原始碼計畫提供的原始碼,而非重新實作系統的重要部分。
Compatibility Test Suite (CTS) 會測試平台的大部分行為相容性,但並非全部。
實作者有責任確保與 Android
開放原始碼專案的行為相容性。
3.6. API 命名空間
Android 遵循 Java 程式設計語言
定義的套件和類別命名空間慣例。為確保與第三方應用程式的相容性,裝置實作者不得對以下套件命名空間進行
任何禁止的修改 (請參閱下方說明):
• java.*
• javax.*
• sun.*
• android.*
• com.android.*
禁止的修改包括:
• 裝置實作項目不得透過變更任何方法或類別簽章,或移除類別或類別欄位,修改 Android 平台上公開公開的 API。
• 裝置實作者可以修改 API 的基礎實作方式,但此類
修改絕對不得影響任何
公開公開的 API 的行為和 Java 語言簽章。
• 裝置實作者不得在上述 API 中新增任何公開暴露的元素 (例如類別或
介面、現有類別或介面的欄位或方法)。
「公開暴露的元素」是指在
上游 Android 原始碼中,未加上「@hide」標記的任何結構。換句話說,裝置實作者不得在上述命名空間中公開新的 API,或
變更現有的 API。裝置導入者可以進行僅限內部使用的
修改,但這些修改不得宣傳或以其他方式提供給開發人員。
裝置導入者可以新增自訂 API,但任何此類 API 不得位於由其他機構擁有或參照的命名空間中。
舉例來說,裝置導入者不得將 API 新增至
com.google.* 或類似命名空間;只有 Google 可以這麼做。同樣地,Google 不得將 API 新增至
其他公司的命名空間。
如果裝置實作人員建議改善上述任一套件命名空間 (例如在現有 API 中加入
實用的新功能,或新增 API),則實作人員應前往
source.android.com,並根據該網站的
資訊開始提供變更和程式碼。
請注意,上述限制與 Java
程式設計語言中 API 命名標準慣例相符;本節只是為了強化這些慣例,並透過納入此相容性定義使其具有約束力
。
3.7. 虛擬機器相容性
相容的 Android 裝置必須支援完整的 Dalvik Executable (DEX) 位元碼規格和
Dalvik 虛擬機器語意 [Resources, 13]。
3.8. 使用者介面相容性
Android 平台包含一些開發人員 API,可讓開發人員鉤掛系統使用者介面。
裝置實作項目必須將這些標準 UI API 納入他們開發的自訂使用者介面
,如以下所述。
3.8.1. 小工具
Android 定義了元件類型和對應的 API 和生命週期,讓應用程式可向使用者公開
「AppWidget」[Resources, 14]。 Android 開放原始碼參考版本包含
「啟動器」應用程式,其中包含使用者介面元素,可讓使用者在主畫面上新增、查看及移除
「應用程式小工具」。
裝置實作人員可以替換參考啟動器 (即主畫面) 的替代方案。
替代啟動器應內建支援應用程式小工具,並公開使用者介面
元素,以便直接在啟動器中新增、查看及移除應用程式小工具。替代啟動器可
省略這些使用者介面元素;不過,如果省略這些元素,裝置實作者必須提供可從啟動器存取的
獨立應用程式,讓使用者新增、查看及移除
AppWidget。
3.8.2. 通知
Android 提供 API,可讓開發人員通知使用者重要事件 [Resources, 15]。裝置
實作人員必須為每個定義的通知類別提供支援,具體來說是:聲音、
震動、燈光和狀態列。
此外,實作方式必須正確算繪,且所有資源 (圖示、音訊檔案等)
皆須符合 API [Resources, 7] 或狀態列圖示樣式指南 [Resources, 16] 的規定。裝置
實作者可提供與
參考 Android 開放原始碼實作方式不同的通知使用者體驗;不過,此類其他通知系統必須
支援現有的通知資源,如上所述。
3.8.3. 搜尋
Android 包含 API [Resources, 17],可讓開發人員將搜尋功能整合至應用程式,
並將應用程式資料公開至全域系統搜尋功能。一般來說,這項功能
包含單一系統層級使用者介面,可讓使用者輸入查詢,並在使用者輸入時顯示建議內容
和結果。Android API 可讓開發人員重複使用這個介面,在自家應用程式中提供
搜尋功能,並將結果提供給常見的全球搜尋使用者介面
。
裝置實作項目必須包含單一共用系統層級搜尋使用者介面,能夠
根據使用者輸入內容提供即時建議。裝置實作項目必須實作 API,
讓開發人員能夠重複使用這個使用者介面,在自己的應用程式中提供搜尋功能。
裝置實作項目必須實作 API,讓第三方應用程式在全球搜尋模式下,將建議內容
新增至搜尋框。如果沒有安裝任何第三方應用程式
使用這項功能,預設行為應為顯示網路搜尋引擎結果和
建議。
裝置實作可能會提供其他搜尋使用者介面,但應包含硬體或軟體專用搜尋按鈕,以便在任何應用程式中隨時叫用搜尋架構,並執行 API 說明文件中提供的行為。
3.8.4. 浮動式訊息
應用程式可以使用「Toast」API (定義於 [資源 18]),向
使用者顯示短暫的非模式化字串,該字串會在短時間後消失。裝置實作必須以某種高可見度的方式,向使用者顯示來自
應用程式的 Toast。
4. 參考軟體相容性
裝置導入者必須使用以下開放原始碼
應用程式,測試導入作業的相容性:
• 計算機 (已納入 SDK)
• Lunar Lander (已納入 SDK)
• ApiDemos (已納入 SDK)
• 「Apps for Android」應用程式 [資源 19]
上述每個應用程式都必須在導入作業中正確啟動並運作,才能將導入作業視為
相容。
5. 應用程式封裝相容性
裝置實作項目必須安裝並執行由官方 Android SDK 中「aapt」工具
產生的 Android「.apk」檔案 [Resources, 20]。
裝置實作不得以任何方式擴充 .apk、Android 資訊清單或 Dalvik 位元碼
格式,以免這些檔案無法在其他
相容裝置上正確安裝及執行。裝置實作者應使用 Dalvik 的參考上游實作項目,
以及參考實作項目的套件管理系統。
6. 多媒體相容性
相容的 Android 裝置必須支援下列多媒體編解碼器。所有這些編解碼都會
以軟體實作方式提供,並在 Android 開放原始碼計畫的首選 Android 實作方式中實作 [資源, 4]。
請注意,Google 和開放手機聯盟均未聲明這些編解碼不受第三方專利限制。
若您打算在硬體或
軟體產品中使用這份原始碼,請注意,這段程式碼的實作方式 (包括在開放原始碼軟體或
共享軟體中) 可能需要相關專利持有人的專利授權。
音訊
名稱
編碼器/解碼器詳細資料
支援的檔案
任何
3GPP (.3gp) 和
標準位元率的組合
MPEG-4 (.mp4、.m4a)
AAC LC/LTP
X
最高 160 kbps 的檔案和取樣率。不支援 8 到 48 kHz
AAC (.aac)
單聲道/立體聲內容,在任何
3GPP (.3gp) 和
HE-AACv1
標準位元率
MPEG-4 (.mp4、.m4a)
X
(AAC+)
最高 96 kbps 和取樣率檔案。
不支援 8 到 48 kHz
AAC (.aac)
之間的 raw
HE-AACv2
3GPP (.3gp) 和
標準位元率
(增強型
MPEG-4 (.mp4, .m4a)
X
最高 96 kbps 和取樣率
AAC+)
檔案。
不支援 raw
8 到 48 kHz 之間
AAC (.aac)
AMR-NB
4.75 到 12.2 kbps 取樣 @
3GPP (.3gp) 檔案
X
X
8 kHz
AMR-WB
9 個速率,從 6.60 kbit/s 到 23.85
- 3GPP (.3gp) 檔案
X
kbit/s 取樣 @ 16 kHz
MP3
單聲道/立體聲 8 到 320 Kbps 的固定 MP3 (.mp3) 檔案
X
(CBR) 或可變位元率 (VBR)
Type 0 和 1 (.mid、.xmf)
MIDI Type 0 和 1。DLS 1 版
MIDI
X
.mxmf)。以及 RTTTL/RTX
和 2。XMF 和 Mobile XMF。
(.rtttl、.rtx)、OTA (.ota)
支援鈴聲格式
和 iMelody (.imy)
RTTTL/RTX、OTA 和 iMelody
Ogg Vorbis
.ogg
X
8 位元和 16 位元線性 PCM (速率上限
PCM
X
WAVE
硬體限制)
圖片
檔案
名稱
編碼器/解碼器詳細資料
支援
JPEG
X
X
base+progressive
GIF
X
PNG
X
X
BMP
X
影片
檔案
名稱
編碼器/解碼器詳細資料
支援
3GPP (.3gp)
H.263
X
X
檔案
3GPP (.3gp)
H.264
X
和 MPEG-4
(.mp4) 檔案
MPEG4
X
3GPP (.3gp) 檔案
SP
7. 開發人員工具相容性
裝置實作必須支援 Android SDK 提供的 Android 開發人員工具。
具體來說,Android 相容裝置必須支援以下項目:
• Android Debug Bridge 或 ADB [Resources, 21]
裝置實作必須支援 Android SDK 中記錄的所有 ADB 功能。
裝置端的 adb 守護程序應預設為停用,但必須提供使用者可
存取的機制,才能啟用 Android Debug Bridge。
• Dalvik Debug Monitor Service 或 ddms [Resources, 22]
裝置實作必須支援 Android SDK 說明中的所有 ddms 功能。
由於 ddms 使用 adb,因此預設情況下應停用 ddms 支援功能,但在使用者啟用 Android Debug Bridge 時,必須支援
。
• Monkey [Resources, 23]
裝置實作必須包含 Monkey 架構,並讓
應用程式可使用該架構。
8. 硬體相容性
Android 旨在支援裝置導入者建立創新的板型規格和設定。
同時,Android 開發人員希望所有 Android
裝置都支援特定硬體、感應器和 API。本節列出所有 Android 1.6 相容裝置必須支援的硬體功能。在
Android 1.6 中,大部分的硬體功能 (例如 Wi-Fi、指南針和加速計) 都是必備的。
如果裝置包含特定硬體元件,且該元件具有適用於第三方開發人員的對應 API,則裝置實作項目必須依照 Android SDK
說明文件所定義,實作該 API。
8.1. 顯示
Android 1.6 包含在
某些情況下執行特定自動縮放和轉換作業的設施,以確保第三方應用程式在硬體
設定中運作良好,即使這些應用程式並未針對該設定明確設計也能正常運作 [Resources, 24]。裝置必須
正確實作這些行為,詳情請參閱本節。
8.1.1. 標準顯示設定
下表列出與 Android 相容的標準螢幕設定:
對角線
螢幕大小
螢幕密度
螢幕類型
寬度 (像素)
高度 (像素)
長度範圍
群組
群組
(英寸)
QVGA
240
320
2.6 - 3.0
小
低
WQVGA
240
400
3.2 - 3.5
正常
低
HVGA
320
480
3.0 - 3.5
正常
中
WVGA
480
800
3.3 - 4.0
正常
高
FWVGA
480
854
3.5 - 4.0
正常
高
WVGA
480
800
4.8 - 5.5
大
中
FWVGA
480
854
5.0 - 5.8
大
中
裝置實作必須對應上述任一標準設定,
才能透過 android.content.res.Configuration [Resources,
25] 類別,向應用程式回報指定的螢幕大小。
部分 .apk 套件資訊清單並未指出支援特定密度範圍。
執行這類應用程式時,會套用以下限制:
• 裝置實作必須將任何資源解讀為預設為
「medium」(在 SDK 說明文件中稱為「mdpi」)。
• 在「低」密度螢幕上運作時,裝置實作項目必須將中等/
mdpi 資產縮小 0.75 倍。
• 在「高」密度螢幕上執行時,裝置實作項目必須將中密度/
mdpi 素材資源縮放 1.5 倍。
• 裝置實作項目不得在像素密度範圍內縮放資產,且必須在像素密度範圍之間,以這些因素精確縮放資產。
8.1.2. 非標準顯示設定
如果顯示設定不符合第 8.2.1 節所列的標準設定,就需要
額外考量和調整,才能確保相容性。裝置導入者必須按照第 12 節的規定,與 Android
相容性團隊聯絡,取得螢幕尺寸區塊、密度和縮放比例係數的分類資訊。
提供這項資訊時,裝置實作項目必須按照指定方式實作
。
請注意,某些顯示設定 (例如超大或超小螢幕,以及某些顯示比例)
基本上與 Android 1.6 不相容;因此,建議裝置實作人員在開發過程中盡早
與 Android 相容性團隊聯絡。
8.1.3. 顯示指標
裝置實作項目必須針對
android.util.DisplayMetrics [Resources, 26] 中定義的所有顯示指標回報正確的值。
8.2. 鍵盤
裝置實作:
• 必須支援輸入管理架構 (可讓第三方
開發人員建立輸入管理引擎,也就是軟體鍵盤),詳情請參閱
developer.android.com
• 必須提供至少一個軟體鍵盤實作 (無論是否有硬體鍵盤)
• 可納入其他軟體鍵盤實作
• 可納入硬體鍵盤
• 不得納入與 android.content.res.Configuration [Resources, 25] (也就是 QWERTY 或 12 鍵) 中指定的格式不相符的硬體鍵盤
8.3.
無觸控導覽功能
裝置實作:
• 可省略無觸控導覽選項 (也就是可省略軌跡球、5 向方向鍵或
輪)
• 必須透過 android.content.res.Configuration [Resources, 25] 回報裝置硬體的正確值
8.4.
螢幕方向
:相容裝置必須支援應用程式將螢幕方向動態調整為直向或橫向
。也就是說,裝置必須遵循應用程式要求的特定螢幕
方向。裝置實作項目可選用直向或橫向方向做為預設。
無論何時透過
android.content.res.Configuration.orientation、android.view.Display.getOrientation() 或其他 API 進行查詢,裝置都必須回報裝置目前方向的正確值。
8.5. 觸控螢幕輸入
裝置實作:
• 必須具備觸控螢幕
• 可使用電容式或電阻式觸控螢幕
• 必須回報 android.content.res.Configuration [Resources, 25] 的值,反映
裝置上特定觸控螢幕的類型
8.6. USB
裝置實作:
• 必須實作 USB 用戶端,可透過標準 USB-A 連接埠連線至 USB 主機
• 必須透過 USB 實作 Android Debug Bridge (如第 7 節所述)
• 必須針對裝置中的可移除/媒體儲存空間實作 USB 大量儲存空間用戶端
• 建議在裝置端使用 micro USB 板型規格
• 建議實作 USB 大量儲存空間規格支援功能 (以便從主機 PC 存取裝置上的可移除或固定儲存空間)
• 可在裝置端納入非標準連接埠,但如果這樣做,則必須隨附可將自訂引腳連線至標準 USB-A 連接埠的纜線
8.7.
導覽鍵
「Home」、「Menu」和「Back」功能對於 Android 導覽模式至關重要。無論應用程式狀態為何,裝置實作項目都必須隨時向使用者提供這些功能。
這些功能應透過專用按鈕實作。您可以使用軟體、手勢、觸控面板等
實作這些功能,但必須確保使用者隨時都能存取這些功能,且不會遮蓋或
干擾可用的應用程式顯示區域。
裝置實作人員也應提供專屬的搜尋鍵。裝置導入者也可能會
提供電話的傳送和結束鍵。
8.8. WiFi
裝置實作項目必須支援 802.11b 和 802.11g,並可支援 802.11a。
8.9. 相機
裝置實作項目必須包含相機。內建相機:
• 解析度須至少為 2000 萬像素
• 應在相機驅動程式中實作硬體自動對焦或軟體自動對焦 (對應用程式透明)
• 可使用固定對焦或 EDOF (擴大景深) 硬體
• 可使用閃光燈。
如果相機包含閃光燈,在相機預覽
介面上註冊
android.hardware.Camera.PreviewCallback 例項時,閃光燈燈泡一律不得亮起。
裝置實作必須針對相機相關 API 實作以下行為
[Resources, 27]:
1.如果應用程式從未呼叫 android.hardware.Camera.Parameters.setPreviewFormat(int),
則裝置必須使用 android.hardware.PixelFormat.YCbCr_420_SP 來處理應用程式回呼提供的預覽資料
。
2.如果應用程式註冊 android.hardware.Camera.PreviewCallback 例項,且系統在預覽格式為 YCbCr_420_SP 時呼叫 onPreviewFrame() 方法,則傳遞至 onPreviewFrame() 的 byte[] 中的資料必須進一步採用 NV21 編碼格式。
(這是 7k 硬體系列原生使用的格式)。
也就是說,預設值必須是 NV21。
8.9.1. 非自動對焦攝影機
如果裝置沒有自動對焦攝影機,裝置實作者必須符合
本節中的其他規定。無論實際相機硬體的功能為何,裝置實作方式都必須以合理的方式,實作 Android 1.6
SDK 文件中包含的完整 Camera API。
如果 Android 1.6 的相機缺少自動對焦功能,裝置實作方式必須遵循下列規定:
1.系統必須包含名為「ro.workaround.noautofocus」
的唯讀系統屬性,且值為「1」。此值可供 Android Market 等應用程式使用,用於
有選擇地識別裝置功能,並在日後的 Android 版本中,以
強大 API 取代。
2.如果應用程式呼叫 android.hardware.Camera.autoFocus(),系統必須在任何已註冊的
android.hardware.Camera.AutoFocusCallback 例項上呼叫
onAutoFocus() 回呼方法,即使實際上並未發生對焦也一樣。
這麼做可避免現有應用程式因等待永遠不會到來的 autofocus
回呼而中斷。
3.驅動程式或
架構必須在主架構 Looper 執行緒的新事件中,觸發對 AutoFocusCallback.onAutoFocus() 方法的呼叫。也就是說,Camera.autoFocus()
絕對不應直接呼叫 AutoFocusCallback.onAutoFocus(),因為這會違反 Android 框架的執行緒模型,並導致應用程式發生錯誤。
8.10. 加速計
裝置實作必須包含 3 軸加速計,且必須能夠以至少 50 Hz 的頻率傳送事件。加速計使用的座標系統必須符合 Android 感應器座標系統,詳情請參閱 Android API [Resources] (28)。
8.11. 指南針
裝置實作必須包含 3 軸指南針,且必須能夠以至少
10 Hz 的頻率傳送事件。指南針使用的座標系統必須符合 Android API [Resources, 28] 中定義的 Android 感應器座標系統
。
8.12. GPS
裝置實作方式必須包含 GPS,且應納入某種形式的「輔助 GPS」
技術,以盡可能縮短 GPS 鎖定時間。
8.13. 通訊功能
裝置實作:
• 必須包含 GSM 或 CDMA 通訊功能
• 必須實作適當的 API,詳情請參閱 Android SDK 說明文件 (位於
developer.android.com
) 請注意,這項規定表示非手機裝置與 Android 1.6 不相容;Android
1.6 裝置必須包含通訊功能硬體。如需瞭解非手機
裝置的資訊,請參閱附錄 C。
8.14. 音量控制項
Android 相容裝置必須提供機制,讓使用者調高或調低
音量。裝置實作必須隨時向使用者提供這些函式,
不論應用程式狀態為何。這些功能可使用實體硬體鍵、
軟體、手勢、觸控面板等實作,但必須隨時可供存取,且不會遮蓋或干擾
可用的應用程式顯示區域 (請參閱上方的「顯示」)。
使用這些按鈕時,系統必須產生對應的按鍵事件,並傳送至
前景應用程式。如果事件未遭應用程式截斷及傳送,則裝置
實作必須將事件視為系統音量控制項來處理。
9. 效能相容性
Android 相容性計畫的目標之一,就是確保消費者能享有一致的應用程式體驗。
相容的實作項目必須確保應用程式不僅能正確執行,還能提供合理的效能和整體良好的使用者體驗。
裝置實作必須符合 Android 1.6 相容裝置的主要效能指標,
如以下表格所示:
指標
效能門檻
註解
這是由 CTS 測試。
以下應用程式
啟動時間的計算方式為,在指定時間內完成載入應用程式
應用程式
的預設活動所需的總時間。
應用程式,包括啟動作業所需的時間
啟動時間
瀏覽器:少於 1300 毫秒
Linux 程序,將 Android 套件載入至 Dalvik VM,並呼叫 onCreate。 MMS/SMS:少於 700 毫秒
AlarmClock:小於 650 毫秒
將啟動多個應用程式。
這是由 CTS 測試。
重新啟動
同時啟動第一個應用程式時,應
應用程式
完成的時間應低於
原始啟動時間。
10. 安全性模型相容性
裝置實作項目必須實作與 Android 平台安全性
模型一致的安全性模型,如
Android 開發人員說明文件中「API 中的安全性和權限」參考文件中所定義的 [Resources, 29] 所述。裝置實作項目必須支援安裝自行簽署的
應用程式,且不必要求任何第三方/機構提供額外權限/憑證。
具體來說,相容裝置必須支援下列安全機制:
10.1. 權限
裝置實作項目必須支援 Android 權限模型,如 Android
開發人員說明文件所定義 [Resources, 9]。具體來說,實作項目必須依照 SDK 說明文件的說明,強制執行每項權限
;不得省略、變更或忽略任何權限。
實作項目可以新增其他權限,但前提是新的權限 ID 字串不得位於
android.* 命名空間。
10.2. 使用者和程序隔離
裝置實作方式必須支援 Android 應用程式沙箱模型,在該模型中,每個應用程式
都會以獨特的 Unix 風格 UID 執行,並在個別程序中執行。
裝置實作必須支援以相同 Linux 使用者 ID 執行多個應用程式,前提是
應用程式已正確簽署及建構,如「安全性和權限」
參考資料所定義 [資源, 29]。
10.3. 檔案系統權限
裝置實作項目必須支援 Android 檔案存取權限模型,如
在「安全性和權限」參考資料中所定義 [Resources, 29]。
11. 相容性測試套件
裝置實作項目必須使用裝置上的最終發布軟體,通過 Android 相容性測試套件 (CTS) [資源 3]
(可從 Android 開放原始碼計畫取得)。此外,
裝置實作者應盡可能使用 Android 開放原始碼樹狀結構中的參考實作項目,並務必確保在 CTS 中出現模糊情況時,以及在任何參考原始碼的部分重新實作項目時,都能維持相容性。
CTS 設計用於在實際裝置上執行。就像任何軟體一樣,CTS 本身可能含有錯誤。
CTS 的版本會與此相容性定義獨立,且 Android 1.6 可能會發布多個修訂版的
CTS。不過,這類版本只會修正 CTS
測試中的行為錯誤,不會為特定平台版本強制執行任何新測試、行為或 API。
12. 與我們聯絡
如要瞭解有關於
這個相容性定義的相關資訊,並提供意見回饋,請來信至 compatibility@android.com 與 Android 相容性團隊聯絡。
附錄 A:必要的應用程式意圖
注意:這份清單為暫時性措施,日後會進行更新。
應用程式操作
方案 MIME 類型
(沒有任何)
文字/純文字
http
文字/html
瀏覽器
android.intent.action.VIEW
https
應用程式/xhtml+xml
應用/
安卓版 vnd
(沒有任何)
android.intent.action.WEB_SEARCH
http
(沒有任何)
https
android.media.action.IMAGE_CAPTURE
android.media.action.STILL_IMAGE_CAMERA
相機
android.media.action.VIDEO_CAMERA
android.media.action.VIDEO_CAPTURE
vnd.android.cursor.dir/
android.intent.action.VIEW
影像
android.intent.action.GET_CONTENT
vnd.android.cursor.dir/
android.intent.action.PICK
影片
android.intent.action.ATTACH_DATA
圖像/*
影片/*
android.intent.action.VIEW
RTSP 協定
視訊/mp4
影片/3gp
android.intent.action.VIEW
http
影片/3gpp
影片/3gpp2
android.intent.action.撥號
電話 /
android.intent.action.VIEW
電話
聯絡方式
android.intent.action.CALL
android.intent.action.撥號
vnd.android.cursor.dir/
android.intent.action.VIEW
人
vnd.android.cursor.dir/
人
vnd.android.cursor.dir/
android.intent.action.PICK
電話
vnd.android.cursor.dir/
郵寄地址
vnd.android.cursor.item/
人
vnd.android.cursor.item/
android.intent.action.GET_CONTENT
電話
vnd.android.cursor.item/
郵寄地址
文字/純文字
電子郵件
android.intent.action.發送
圖像/*
影片/*
android.intent.action.VIEW
信箱
android.intent.action.SENDTO
簡訊
android.intent.action.VIEW
簡訊
簡訊 / 彩信 android.intent.action.SENDTO
彩信
美通社
聲音的/*
應用程式/ogg
音樂
android.intent.action.VIEW
文件
應用程式/x-ogg
應用程式/iTunes
音訊/mp3
音訊/x-mp3
android.intent.action.VIEW
http
音訊/mpeg
音訊/mp4
音訊/mp4a-latm
vnd.android.cursor.dir/
藝術專輯
vnd.android.cursor.dir/
專輯
vnd.android.cursor.dir/
android.intent.action.PICK
正在播放
vnd.android.cursor.dir/
追蹤
nd.android.cursor.dir/
播放清單
vnd.android.cursor.dir/
影片
媒體/*
聲音的/*
android.intent.action.GET_CONTENT
應用程式/ogg
應用程式/x-ogg
影片/*
內容
包裹
android.intent.action.VIEW
文件
安裝程式
包裹
文件
android.intent.action.PACKAGE_INSTALL
http
https
android.intent.action.ALL_APPS
android.settings.設置
android.settings.WIRELESS_SETTINGS
android.settings.AIRPLANE_MODE_SETTINGS
android.settings.WIFI_SETTINGS
android.settings.APN_SETTINGS
android.settings.BLUETOOTH_SETTINGS
android.settings.DATE_SETTINGS
android.settings.LOCALE_SETTINGS
設定
android.settings.INPUT_METHOD_SETTINGS
com.android.settings.SOUND_SETTINGS
com.android.settings.DISPLAY_SETTINGS
android.settings.SECURITY_SETTING
android.settings.LOCATION_SOURCE_SETTINGS
android.settings.INTERNAL_STORAGE_SETTINGS
android.settings.MEMORY_CARD_SETTINGS
android.intent.action.SET_WALLPAPER
搜尋
android.intent.action.搜尋
詢問
android.intent.action.SEARCH_LONG_PRESS
嗓音
android.intent.action.VOICE_COMMAND
聯絡人管理
意圖動作
描述
啟動一個 Activity,讓使用者選擇
附加影像
要附加圖像的聯絡人。
使用
EXTRA_CREATE_DESCRIPTION
與 SHOW_OR_CREATE_CONTACT ,
指定要顯示的確切說明
以便在提示使用者
建立新聯絡人時顯示。
與 SHOW_OR_CREATE_CONTACT 搭配使用
EXTRA_FORCE_CREATE
如果找不到
相符的聯絡人,就會強制建立新聯絡人。
這是在點選
SEARCH_SUGGESTION_CLICKED
搜尋建議時觸發的意圖。
這是在點選
SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED 建立聯絡人的搜尋建議時觸發的意圖。
這是在點選
SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED
撥號搜尋建議
時觸發的意圖。
輸入含有 mailto:的資料 URI
SHOW_OR_CREATE_CONTACT
或 tel: 配置。
附錄 B:必要的廣播意圖注意:這份清單為暫時性措施,日後會
更新。
意圖動作
說明
廣播動作:系統完成啟動後,會廣播一次
ACTION_BOOT_COMPLETED
。
廣播動作:收到
ACTION_CALL_BUTTON
呼叫時,會發布一次。
廣播動作:按下「相機按鈕」
ACTION_CAMERA_BUTTON
按鈕。
廣播動作:目前的
ACTION_CONFIGURATION_CHANGED
裝置設定 (方向、語言代碼等) 已
變更。
ACTION_DATE_CHANGED
廣播動作:日期已變更。
廣播動作:指出裝置上的記憶體不足
ACTION_DEVICE_STORAGE_LOW
ACTION_DEVICE_STORAGE_OK
已移除 廣播動作:有線耳機已插入或ACTION_HEADSET_PLUG
已拔除。
廣播動作:輸入法已變更
ACTION_INPUT_METHOD_CHANGED
變更。
廣播動作:從 SD 卡插槽移除外部媒體
ACTION_MEDIA_BAD_REMOVAL
但未卸載掛接點
。
廣播動作:按下「媒體按鈕」
ACTION_MEDIA_BUTTON
廣播動作:存在外部媒體,且正在進行磁碟檢查。
ACTION_MEDIA_CHECKING
的掛載點路徑,
檢查媒體包含在
Intent.mData 欄位中。
廣播動作:使用者表示希望
ACTION_MEDIA_EJECT
移除外部儲存媒體。
廣播動作:外部媒體存在,且ACTION_MEDIA_MOUNTED
已掛載至掛載點。
廣播動作:外部媒體存在,但
使用不相容的 fs (或空白)。Intent.mData 欄位包含
ACTION_MEDIA_NOFS
路徑,該路徑是檢查媒體的掛載點。
廣播動作:外部媒體已
ACTION_MEDIA_REMOVED
移除。
廣播動作:媒體掃描器已完成
ACTION_MEDIA_SCANNER_FINISHED
掃描目錄。
廣播動作:要求媒體掃描器
ACTION_MEDIA_SCANNER_SCAN_FILE
掃描檔案並新增至媒體資料庫。
廣播動作:媒體掃描器已開始
ACTION_MEDIA_SCANNER_STARTED
掃描目錄。
廣播動作:外部媒體已卸載
ACTION_MEDIA_SHARED
因為透過 USB 大量儲存空間共用。
廣播動作:外部媒體存在,但無法掛載
ACTION_MEDIA_UNMOUNTABLE
。
廣播動作:外部媒體存在,但
ACTION_MEDIA_UNMOUNTED
未掛接在掛接點。
廣播動作:即將撥出電話
ACTION_NEW_OUTGOING_CALL
。
廣播動作:裝置上已安裝新的應用程式套件,
ACTION_PACKAGE_ADDED
。
廣播動作:現有的應用程式套件
ACTION_PACKAGE_CHANGED
已變更 (例如元件已啟用或停用
)。
廣播動作:使用者已清除
套件的資料。這項操作應先由
ACTION_PACKAGE_RESTARTED 執行,接著再由
ACTION_PACKAGE_DATA_CLEARED
刪除所有持續性資料,並傳送這項廣播訊息。
請注意,已清除的套件
不會 接收這項廣播。資料包含
套件名稱。
廣播動作:已從裝置中移除現有的應用程式套件
。資料
ACTION_PACKAGE_REMOVED
包含套件名稱。正在安裝的套件
不會 接收此 Intent。
廣播動作:已安裝新版應用程式
ACTION_PACKAGE_REPLACED
套件,取代先前安裝的現有
版本。
廣播動作:使用者已重新啟動
套件,且所有相關程序都已終止。
應移除與之相關的所有執行階段狀態 (程序、
ACTION_PACKAGE_RESTARTED
鬧鐘、通知等)。請注意,重新啟動的套件不會 收到這個廣播。
資料包含
套件的名稱。
廣播動作:部分內容供應器會在其命名空間的
部分發布新的 ACTION_PROVIDER_CHANGED
事件或使用者可能特別感興趣的項目。
ACTION_SCREEN_OFF
廣播動作:螢幕關閉後傳送。
ACTION_SCREEN_ON
廣播動作:螢幕開啟後傳送。
廣播動作:系統已移除使用者 ID
ACTION_UID_REMOVED
。
廣播動作:裝置已進入 USB
ACTION_UMS_CONNECTED
大量儲存模式。
廣播動作:裝置已退出 USB
ACTION_UMS_DISCONNECTED
大量儲存模式。
廣播動作:在裝置喚醒後,當使用者在場時傳送 ACTION_USER_PRESENT
(例如當螢幕鎖定畫面
消失時)。
廣播動作:目前的系統桌布
ACTION_WALLPAPER_CHANGED
已變更。
ACTION_TIME_CHANGED
廣播動作:已設定時間。
ACTION_TIME_TICK
廣播動作:目前的時間已變更。
ACTION_TIMEZONE_CHANGED
廣播動作:時區已變更。
廣播動作:充電狀態或電池的充電
ACTION_BATTERY_CHANGED
等級已變更。
廣播動作:表示裝置電量不足
ACTION_BATTERY_LOW
。這個廣播訊息對應
「電池電量不足警告」系統對話方塊。
廣播動作:表示電池在電量不足後已恢復正常
。當電池
恢復正常狀態後,系統會在 ACTION_BATTERY_LOW 後傳送 ACTION_BATTERY_OKAY
。
網路狀態
意圖動作
說明
廣播意圖動作,表示 Wi-Fi 連線的
NETWORK_STATE_CHANGED_ACTION
狀態已變更。
廣播意圖動作,表示
RSSI_CHANGED_ACTION
RSSI (訊號強度) 已變更。
廣播意圖動作,表示已建立或中斷與供應者連線的 SUPPLICANT_STATE_CHANGED_ACTION
供應者連線。
廣播意圖動作,指出 Wi-Fi WIFI_STATE_CHANGED_ACTION
已啟用、停用、正在啟用、正在停用或不明。
已設定網路的網路 ID
NETWORK_IDS_CHANGED_ACTION
可能已變更。
廣播意圖動作,表示背景資料使用量的 ACTION_BACKGROUND_DATA_SETTING_CHANGED 設定已變更值。
廣播意圖,指出已發生
CONNECTIVITY_ACTION
網路連線的變更。
廣播動作:使用者已將
ACTION_AIRPLANE_MODE_CHANGED
手機切換至或退出飛航模式。
附錄 C:未來考量事項 本附錄會說明本 Android
1.6 相容性定義的特定部分,並在某些情況下討論
未來 Android 平台版本的預期或規劃變更。本附錄僅供參考和規劃用途,
不屬於 Android 1.6 的相容性定義。
1. 非電話裝置
Android 1.6 僅適用於電話,因此無法選擇是否使用電話功能。未來的 Android 平台版本
預計會將電話功能設為選用 (因此允許非手機 Android
裝置),但只有手機與 Android 1.6 相容。
2. 藍牙相容性
Android 1.6 版本不支援藍牙 API,因此從相容性角度來看,
藍牙不會對這個版本的平台施加任何考量。不過,Android 的未來版本
將會導入 Bluetooth API。屆時,
相容性將強制支援藍牙。
因此,我們強烈建議 Android 1.6 裝置加入藍牙功能,
以便與日後需要藍牙功能的 Android 版本相容。
3. 必要的硬體元件
第 8 節中的所有硬體元件 (包括 Wi-Fi、磁力計/指南針、加速計等) 都是
必要元件,不得省略。未來版本的 Android 預計會將部分 (但非全部)
元件設為選用,並提供相應工具供第三方開發人員處理這些
變更。
4. 應用程式範例
未來版本的 Android 相容性定義文件將包含更廣泛且具代表性的應用程式清單,而非上述第 4 節所列的應用程式。
針對 Android 1.6,必須測試第 4 節列出的
應用程式。
5. 觸控螢幕
未來版本的相容性定義可能會允許裝置省略觸控螢幕,也可能不會。
不過,目前 Android 架構的實作內容大多假設有觸控螢幕;如果省略觸控螢幕,會導致目前所有第三方 Android 應用程式無法正常運作,
因此在 Android 1.6 中,觸控螢幕是相容性所需的必要條件。
6. 效能
未來版本的 CTS 也會評估實作項目中以下
元件的 CPU 使用率和效能:
• 2D 圖形
• 3D 圖形
• 影片播放
• 音訊播放
• 藍牙 A2DP 播放
文件大綱
- 1. 簡介
- 2. 資源
- 3. 軟體
- 4. 參考軟體相容性
- 5. 應用程式封裝相容性
- 6. 多媒體相容性
- 7. 開發人員工具相容性
- 8. 硬體相容性
- 9. 效能相容性
- 10. 安全性模型相容性
- 11. Compatibility Test Suite
- 12. 聯絡我們
- 附錄 A:必要的應用程式意圖