API 級別: 12
開發人員可使用 Android 3.1 平台
(HONEYCOMB_MR1
) 可做為
適用於 Android SDK 的可下載元件。可下載的平台包括
Android 程式庫和系統映像檔,以及一組模擬器外觀
內容。可下載的平台不含任何外部程式庫。
開發人員可以用 Android 3.1 平台 適用於 Android SDK 的可下載元件。可下載的平台包括 Android 程式庫和系統映像檔,以及一組模擬器外觀 內容。如要開始針對 Android 3.1 進行開發或測試 使用 Android SDK Manager 將這個平台下載到 SDK。
API 總覽
以下各節提供開發人員最新資訊的技術總覽 ,包括架構 API 的新功能和異動 上一個版本
USB API
Android 3.1 版推出了強大的全新 API,讓開發人員能夠 整合已連結的周邊裝置和平台上執行的應用程式。 這些 API 是以 USB (通用序列匯流排) 堆疊和服務為基礎 平台內建,包括支援 USB 主機和裝置 互動情形開發人員可透過 API 建立能 探索、通訊及管理 USB。
堆疊和 API 可區分兩種基本 USB 硬體類型, Android 裝置使用主機或外部硬體 就是主辦人:
- USB 裝置是一部已連結的硬體,取決於 做為主機使用的 Android 裝置。例如大部分的輸入裝置、滑鼠 和搖桿都是 USB 裝置,許多相機、集線器等都屬於這種裝置。
- USB 配件是搭載 USB 的連接硬體 主機控制器、提供相關電源,並且可用來 使用 USB 連接的 Android 裝置,許多周邊裝置皆可連接 例如機器人控制器、音樂設備、運動自行車 等等。
無論是 USB 裝置和 USB 配件, 平台的 USB API 可在附加或連接時 以及標準介面、端點和傳輸模式 (控制權、大量和乾擾)。
USB API 包含在 android.hardware.usb
套件中。
中央類別為 UsbManager
用於識別和通訊的輔助方法
USB 裝置和 USB 配件應用程式可以取得
UsbManager
,然後查詢附加的清單
並與裝置或配件進行通訊或管理。
UsbManager
也會宣告意圖動作
系統廣播訊息;當裝置連接 USB 裝置或配件時,
已卸離。
其他類別包括:
UsbDevice
,代表外部的類別 硬體,以 USB 裝置的形式連接 (Android 裝置 )。UsbAccessory
,代表外部硬體 已連接為 USB 主機 (搭配 USB 的 Android 裝置使用 裝置)。UsbInterface
和UsbEndpoint
:可讓您存取標準 USB 裝置的介面和端點UsbDeviceConnection
和UsbRequest
,用於傳送和接收資料及控管 對 USB 裝置傳送或接收訊息,同步且非同步。UsbConstants
,可提供 宣告端點類型、裝置類別等。
請注意,雖然平台已內建 USB 堆疊,但實際支援 特定裝置上的 USB 主機和開放式配件模式 製造商具體來說,主機模式需要使用合適的 USB 傳輸線 同時維護用於 Android 裝置的控制器硬體和控制器
此外,開發人員也可以要求篩選 Google Play 的內容,例如: 使用者的裝置不支援 可用的 USB 支援。如要要求篩選,請新增一或兩個元素 新增至應用程式資訊清單,並適當:
- 如果應用程式只能向支援 USB 的裝置顯示
主機模式 (USB 裝置連線),請宣告此元素:
<uses-feature android:name="android.hardware.usb.host" android:required="true">
- 如果應用程式只能向支援 USB 的裝置顯示
配件 (USB 主機連線),請宣告此元素:
<uses-feature android:name="android.hardware.usb.accessory" android:required="true">
如需瞭解如何開發與應用程式互動 USB 配件,請參閱 開發人員說明文件。
如要查看使用 USB Host API 的範例應用程式,請參閱 ADB 測試和小米裝置 啟動器
MTP/PTP API
Android 3.1 版提供新的 MTP API,可讓應用程式直接互動 連接攝影機和其他 PTP 裝置新的 API 可讓您輕鬆 應用程式,以便在裝置附加及移除時接收通知。 管理裝置上的檔案和儲存空間,以及將檔案和中繼資料轉移至 並直接從他人身上學到知識MTP API 導入 PTP (圖片傳輸通訊協定) 子集 MTP (媒體傳輸通訊協定) 規格的 1。
MTP API 包含在 android.mtp
套件中,
這些類別:
MtpDevice
會封裝裝置的 MTP 裝置。 。應用程式可將 存取這類裝置,然後使用 物件,以及開啟連線和傳輸資料 部分方法包括:getObjectHandles()
會傳回裝置上所有物件的控制代碼清單 符合指定的格式和父項如要取得物件相關資訊, 應用程式可將控制代碼傳遞至getObjectInfo()
。importFile()
可讓應用程式將物件的資料複製到外部檔案 如果 30 天內讀取資料不到一次 建議使用 Coldline Storage這個呼叫可能會隨心所欲封鎖一段時間,取決於 資料大小和裝置速度,因此應由頻率組成 。open()
讓應用程式開啟已連接的 MTP/PTP 裝置。- 可退貨 (費用:
getThumbnail()
) 做為位元組陣列的物件縮圖。
MtpStorageInfo
含有儲存空間的相關資訊 MTP 裝置上的單位,對應於 MTP 規格第 5.2.2 節。類別中的方法可讓應用程式 取得儲存單位的說明字串、可用空間、最大儲存空間容量 包括儲存空間 ID 和磁碟區 IDMtpDeviceInfo
會存放 MTP 裝置的相關資訊 對應 MTP 第 5.1.1 節所述的 DeviceInfo 資料集 規格。這個類別中的方法可讓應用程式取得裝置的 製造商、型號、序號和版本。MtpObjectInfo
會保留所儲存物件的相關資訊 在 MTP 裝置上,對應於第一節所述的 ObjectInfo 資料集 5.3.1 MTP 規格。類別中的方法可讓應用程式取得 物件的大小、資料格式、關聯類型、建立日期和縮圖 可能不準確或不適當MtpConstants
提供用於宣告 MTP 檔案的常數 格式代碼、關聯類型和保護狀態
支援新的輸入裝置和動作事件
Android 3.1 擴充了輸入子系統,支援新的輸入裝置和全新輸入裝置和新設備 所有檢視畫面和視窗中的動作事件類型。開發人員可以在 Google Cloud 的協助下 讓使用者透過滑鼠與應用程式互動 軌跡球、搖桿、遊戲墊和其他裝置,除了鍵盤和 觸控螢幕
如要處理滑鼠、滾輪和軌跡球輸入,則平台支援 兩項新的動作事件動作:
ACTION_SCROLL
,用於說明指標 非觸控式捲動動作 (例如滑鼠滾輪) 的位置 。在 MotionEvent 中,AXIS_HSCROLL
和AXIS_VSCROLL
軸的值會指定相對捲動 動作。ACTION_HOVER_MOVE
,回報目前情形 未按下任何按鈕時,會移動滑鼠的位置,以及任何中間的 自上次HOVER_MOVE
事件以來的距離。懸停進入及離開 目前不支援通知功能。
若要支援搖桿和遊戲搖桿,InputDevice
類別
包括下列新的輸入裝置來源:
SOURCE_CLASS_JOYSTICK
:來源 裝置有搖桿軸線。SOURCE_CLASS_BUTTON
:來源 裝置上的按鈕或按鍵SOURCE_GAMEPAD
:來源裝置 含有遊戲手把按鈕,例如KEYCODE_BUTTON_A
或KEYCODE_BUTTON_B
。隱形劑SOURCE_CLASS_BUTTON
SOURCE_JOYSTICK
:來源裝置 有搖桿。使用 SOURCE_CLASS_JOYSTICK。
描述這些新來源和滑鼠中的動作事件
和軌跡球,現在平台現在可以在 MotionEvent
上定義軸代碼,類似於在 KeyEvent
上定義按鍵碼的方式。全新搖桿的軸代碼
和遊戲控制器
AXIS_HAT_X
、AXIS_HAT_Y
、AXIS_RTRIGGER
、AXIS_ORIENTATION
、AXIS_THROTTLE
等人。
現有的 MotionEvent
軸表示 AXIS_X
、AXIS_Y
、
AXIS_PRESSURE
、AXIS_SIZE
、AXIS_TOUCH_MAJOR
、AXIS_TOUCH_MINOR
、AXIS_TOOL_MAJOR
、AXIS_TOOL_MINOR
和 AXIS_ORIENTATION
。
此外,MotionEvent
會定義一些一般性
當架構不知道如何對應
各軸的名稱特定裝置可以使用通用軸代碼傳送自訂的
將動作資料傳送至應用程式有關軸及其預定用途的完整清單
請參閱 MotionEvent
類別說明文件
這個平台分批提供動作事件給應用程式,因此
事件可能包含一個當前位置以及多個所謂的歷史運動。
應用程式應使用 getHistorySize()
來取得
然後擷取並處理所有歷來樣本
樣本 (依序使用 getHistoricalAxisValue()
)。接著,應用程式應處理
使用 getAxisValue()
的範例。
部分軸可使用特殊的存取子方法擷取。例如:
應用程式可以呼叫 getX()
,而不用呼叫 getAxisValue()
。內建存取子的軸包括 AXIS_X
、AXIS_Y
、
AXIS_PRESSURE
、AXIS_SIZE
、AXIS_TOUCH_MAJOR
、AXIS_TOUCH_MINOR
、AXIS_TOOL_MAJOR
、AXIS_TOOL_MINOR
和 AXIS_ORIENTATION
。
每個輸入裝置都有專屬的系統指派 ID,也可能會提供
來自多個來源如果裝置提供多種來源,會有多個來源
能以同一軸提供軸資料舉例來說
來自觸控來源的螢幕定位資料使用 X 軸,而搖桿
來自搖桿來源的事件會使用 X 軸做為線條位置
。因此,應用程式必須解讀軸
會根據其來源環境設定值處理動作時
事件,應用程式應在 InputDevice
上使用方法
類別,以判斷裝置或來源所支援的軸。具體而言
應用程式可以使用 getMotionRanges()
查詢裝置的所有軸或指定的所有軸
裝置來源。在這兩種情況下,傳回的軸範圍資訊
InputDevice.MotionRange
物件會為
每個軸的值
最後,由於搖桿、遊戲墊、滑鼠和滑鼠等動作事件
軌跡球不是觸控事件,則平台會新增
以「通用」的形式傳遞至 View
動作事件
具體來說,它會回報非觸控動作事件
呼叫 onGenericMotionEvent()
(而不是 onTouchEvent()
) 時會導致 View
。
平台會根據不同的
事件來源類別。SOURCE_CLASS_POINTER
項活動
前往指標底下的 View
,就像輕觸
事件。所有其他項目都會移至目前聚焦的View
。
例如,這表示 View
必須先聚焦才能
接收搖桿事件如有需要,應用程式可在子資源層級處理這些事件
改為實作 onGenericMotionEvent()
。
查看使用搖桿動作的範例應用程式 事件,請參閱 GameControllerInput 和 GameView 一起使用。
RTP API
Android 3.1 向其內建的 RTP (即時傳輸通訊協定) 公開 API 應用程式可用於管理隨選或互動式資料 以及串流尤其是提供 VOIP、推送交談、會議通訊功能的應用程式 和音訊串流可以使用 API 啟動工作階段,以及傳輸或接收 以及透過任何可用網路進行的資料串流。
RTP API 位於 android.net.rtp
套件中。等級
包括:
RtpStream
,即傳送及 透過 RTP 接收含有媒體酬載的網路封包。AudioStream
是RtpStream
的子類別,會透過 RTP 承載音訊酬載。AudioGroup
,這個本地音訊中心可供管理及 正在混合裝置的喇叭、麥克風和「AudioStream
」AudioCodec
,其中包含一組轉碼器 您在AudioStream
中定義的值。
為了支援語音會議和類似用途,應用程式須執行例項化 用兩個類別做為串流的端點:
AudioStream
會指定遠端端點 網路對應和已設定的AudioCodec
AudioGroup
代表 或多個AudioStream
。AudioGroup
合輯 所有AudioStream
,並視需要與裝置互動 喇叭和麥克風。
最簡單的用法涉及單一遠端端點和本機端點。
如需較複雜的使用方式,請參閱
AudioGroup
。
如要使用 RTP API,應用程式必須於下列日期要求使用者授予權限:
正在宣告 <uses-permission
android:name="android.permission.INTERNET">
。此外,如要取得裝置麥克風,應用程式還必須授予 <uses-permission
android:name="android.permission.RECORD_AUDIO">
權限。
可調整大小的應用程式小工具
從 Android 3.1 開始,開發人員可以建立主畫面小工具 可調整大小,包括水平、垂直或兩個軸。使用者按住 顯示大小調整控點的小工具,然後拖曳水平和/或垂直方向 控點來變更版面配置格線的大小。
開發人員可以定義
小工具 AppWidgetProviderInfo
中繼資料中的 resizeMode
屬性。下列項目的值:
resizeMode
屬性包含「水平」、「垂直」和「無」。
如要將小工具宣告為可水平和垂直調整大小,請提供所需的值
「Horizontal|vertical」。
範例如下:
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" android:minWidth="294dp" android:minHeight="72dp" android:updatePeriodMillis="86400000" android:previewImage="@drawable/preview" android:initialLayout="@layout/example_appwidget" android:configure="com.example.android.ExampleAppWidgetConfigure" android:resizeMode="horizontal|vertical" > </appwidget-provider>
如要進一步瞭解主畫面小工具,請參閱應用程式小工具 說明文件。
動畫架構
- 新增 ViewPropertyAnimator 類別
- 新的
ViewPropertyAnimator
類別提供 便利 可讓開發人員為View
物件上的選取屬性建立動畫。課程 自動調整屬性的動畫效果並最佳化 管理View
物件上的多個同時播放動畫。使用
ViewPropertyAnimator
非常簡單。為View
,呼叫animate()
即可 為該View
建構ViewPropertyAnimator
物件。使用ViewPropertyAnimator
方法,指定要用於 動畫,以及如何製作動畫。舉例來說,如要將View
淡出為透明, 呼叫alpha(0);
。ViewPropertyAnimator
物件 會處理設定基礎Animator
類別的詳細資料並啟動該類別,然後算繪
- 新的
- 動畫背景顏色
- 全新
getBackgroundColor()
和setBackgroundColor(int)
方法可讓你 取得/設定動畫背後的背景顏色,即可使用視窗動畫 。目前背景必須是黑色,包含任何所需的 Alpha 等級。
- 全新
- 從
ViewAnimator
取得動畫分數- 新的
getAnimatedFraction()
種方式 會顯示目前的動畫比例,也就是經過/內插 最近影格更新中使用的比例 — 來自ValueAnimator
。
- 新的
UI 架構
- 強制算繪圖層
- 新的
buildLayer()
方法可讓應用程式 強制建立檢視畫面的圖層,並立即呈現檢視畫面。 舉例來說,應用程式可以使用這個方法將檢視畫面算繪到 再開始播放動畫。如果 View 很複雜,請算繪為 就可以避免略過影格。
- 新的
- 相機距離
- 應用程式可以使用新方法
setCameraDistance(float)
:設定與 攝影機 就是一種檢視畫面這可讓應用程式進一步控制 3D 轉換 檢視畫面,例如旋轉
- 應用程式可以使用新方法
- 從 DatePicker 取得日曆檢視畫面
- 新的
getCalendarView()
方法 可讓你從DatePicker
取得CalendarView
執行個體。
- 新的
- 在卸離檢視畫面時取得回呼
- 全新的
View.OnAttachStateChangeListener
可讓您 接收 當 View 附加或從視窗卸離時回呼。使用「addOnAttachStateChangeListener()
」 新增事件監聽器,addOnAttachStateChangeListener()
則將其移除
- 全新的
- 片段導覽標記事件監聽器、全新 onInflate() 簽名
- 採用全新方法「
setOnBreadCrumbClickListener()
」 提供連結 應用程式會攔截片段導覽標記點擊,並採取任何必要動作 然後再前往點選的返回堆疊項目或片段 - 在
Fragment
類別中,onInflate(attrs, savedInstanceState)
已淘汰。請改用onInflate(activity, attrs, savedInstanceState)
。
- 採用全新方法「
- 在新分頁顯示搜尋結果
ACTION_WEB_SEARCH
意圖的EXTRA_NEW_SEARCH
資料鍵可讓您以 不要在現有分頁中開啟瀏覽器分頁
- 可繪製文字遊標
- 您現在可以使用新的
資源屬性
textCursorDrawable
。
- 您現在可以使用新的
資源屬性
- 設定顯示在遠端檢視畫面中的子項
- 新的便利方法「
setDisplayedChild(viewId, childIndex)
」提供RemoteViews
子類別,可執行以下操作: 可讓您設定ViewAnimator
和AdapterViewAnimator
子類別,例如AdapterViewFlipper
、StackView
、ViewFlipper
和ViewSwitcher
。
- 新的便利方法「
- 適用於遊戲控制器和其他輸入裝置的通用鍵
KeyEvent
會新增一系列一般按鍵碼至 輔助遊戲手把按鈕。本課程也會將isGamepadButton(int)
和另外 1 個應用程式 用於處理按鍵碼的輔助方法。
圖形
- 管理點陣圖的輔助程式
setHasAlpha(boolean)
可讓應用程式表示 點陣圖中的所有像素都已知不透明 (false),或者部分像素 像素可能包含非不透明的 Alpha 值 (true)。請注意,部分設定 (例如 如同 RGB_565) 所以呼叫遭到忽略,因為該呼叫不支援每個像素的 Alpha 值 輕鬆分配獎金這的用意是繪圖提示,在某些情況下 比起不透明的繪製案例 以像素為單位的 Alpha 值getByteCount()
會取得點陣圖大小 一個位元組getGenerationId()
可讓應用程式 指出點陣圖是否遭到修改,例如用於快取sameAs(android.graphics.Bitmap)
:決定 指出特定點陣圖的尺寸是否與目前的點陣圖不同 或像素資料
- 設定相機位置和旋轉
Camera
會為以下項目新增兩個方法:rotate()
和setLocation()
控制應用程式 相機位置和 3D 轉換。
網路
- 高效能 Wi-Fi 鎖定
- 全新的高效能 Wi-Fi 鎖定機制,可讓應用程式
或高效能 Wi-Fi 連線。
如果應用程式長時間串流播放音樂、影片或語音,就能取得
高效能 Wi-Fi 鎖定功能,即使螢幕開啟時也能持續串流效能
已關閉。由於這個程序耗用較多電力,應用程式應該
如果需要長時間運作的 Wi-Fi
以獲得最佳效能和最安全的連線
如要建立高效能鎖定,請在以下位置中傳遞
WIFI_MODE_FULL_HIGH_PERF
做為鎖定模式: 呼叫createWifiLock()
。
- 全新的高效能 Wi-Fi 鎖定機制,可讓應用程式
或高效能 Wi-Fi 連線。
如果應用程式長時間串流播放音樂、影片或語音,就能取得
高效能 Wi-Fi 鎖定功能,即使螢幕開啟時也能持續串流效能
已關閉。由於這個程序耗用較多電力,應用程式應該
如果需要長時間運作的 Wi-Fi
以獲得最佳效能和最安全的連線
- 更多流量統計資料
- 應用程式現在可以存取更多網路用量類型的統計資料
在
TrafficStats
中使用新方法。應用程式可以使用 取得 UDP 統計資料、封包數、TCP 傳輸/接收酬載位元組數,以及 指定 UID 的區隔
- 應用程式現在可以存取更多網路用量類型的統計資料
在
- SIP 驗證使用者名稱
- 應用程式現在可以取得及設定設定檔的 SIP 驗證使用者名稱
使用
新方法
getAuthUserName()
和setAuthUserName()
- 應用程式現在可以取得及設定設定檔的 SIP 驗證使用者名稱
使用
新方法
下載管理員
- 處理已完成的下載作業
- 應用程式現在可以啟動下載程序,只通知使用者
完成。如要啟動這類下載作業,應用程式必須通過
VISIBILITY_VISIBLE_NOTIFY_ONLY_COMPLETION
在setNotificationVisibility()
方法中 要求物件。 - 新方法
addCompletedDownload()
,可讓應用程式將檔案新增至 下載資料庫,讓「下載」應用程式可以管理該資料庫。
- 應用程式現在可以啟動下載程序,只通知使用者
完成。如要啟動這類下載作業,應用程式必須通過
- 顯示依大小排序的下載內容
- 應用程式可透過下列方法,以排序模式啟動「下載」應用程式:
在
ACTION_VIEW_DOWNLOADS
意圖中加入額外的INTENT_EXTRAS_SORT_BY_SIZE
。
- 應用程式可透過下列方法,以排序模式啟動「下載」應用程式:
在
IME 架構
- 取得輸入法的額外值鍵
InputMethodSubtype
會新增 種方式containsExtraValueKey()
檢查 ExtraValue 字串是否已儲存 做為子類型getExtraValueOf()
方法,用於從 ExtraValue 雜湊對應中擷取特定鍵/值。
媒體
- 全新的串流音訊格式
- 媒體架構已內建對原始 ADTS AAC 內容的支援, 改善串流音訊,並支援 FLAC 音訊,以達到最佳品質 壓縮的音訊內容。請參閱支援的媒體格式 。
停止時啟動控制項 應用程式
從 Android 3.1 版開始,系統的套件管理員會追蹤 也就是提供控制方法 以及透過背景程序及其他應用程式啟動的容器。
請注意,應用程式的停止狀態與 Activity 的 已停止狀態。系統會分別管理這兩個停止狀態。
平台定義了兩個新的意圖旗標,可讓傳送者指定 是否應該允許 Intent 啟動已停止的元件 應用程式。
FLAG_INCLUDE_STOPPED_PACKAGES
: 在潛在目標清單中加入已停止應用程式的意圖篩選器 解決問題。FLAG_EXCLUDE_STOPPED_PACKAGES
: 從潛在項目清單中移除已停止應用程式的意圖篩選器 目標。
如果意圖中都未定義上述兩個標記,或是兩者都未定義,系統會採用預設值 是要將已停止的應用程式篩選器列入 潛在目標。
請注意,系統會把 FLAG_EXCLUDE_STOPPED_PACKAGES
加入所有廣播訊息中
意圖。這麼做可避免背景服務發送廣播訊息
在無意間或不小心啟動停滯應用程式的元件。
背景服務或應用程式可以透過新增
播送 FLAG_INCLUDE_STOPPED_PACKAGES
標記
應允許啟動已停止的應用程式的調用請求。
首次安裝應用程式時,並未處於停止狀態,但應用程式卻沒有 自動啟動,以及使用者手動停止 (位於「管理」分頁中) 應用程式)。
應用程式首次啟動與升級的通知
平台加入了改良版通知,適合應用程式首次啟動和 透過兩個全新意圖動作進行升級
ACTION_PACKAGE_FIRST_LAUNCH
- 傳送到 應用程式首次啟動時的安裝程式套件 (也就是第一次從已停止狀態移出)。資料 包含套件名稱。ACTION_MY_PACKAGE_REPLACED
- 通知 應用程式已更新,但安裝新版本時 現有版本這只會傳送至被取代的應用程式。這項服務 不包含任何額外資料。如要接收,請宣告意圖篩選器 執行此動作您可以使用該意圖觸發程式碼,協助 升級後,應用程式回復 恢復正常運作這個意圖會直接傳送至應用程式,但僅限應用程式 是在啟動狀態 (非已停止狀態) 時升級。
核心公用程式
- LRU 快取
- 檔案描述元為
int
- 您現在可以使用
getFd()
或detachFd()
新方法,取得ParcelFileDescriptor
的原生檔案描述元 int。
- 您現在可以使用
WebKit
- 檔案配置 Cookie
CookieManager
現在支援使用 這個file:
URI 配置。您可以使用setAcceptFileSchemeCookies()
執行下列操作: 在建構執行個體之前,啟用/停用檔案配置 Cookie 的支援功能 共WebView
或CookieManager
。在CookieManager
執行個體,您可以檢查檔案配置 Cookie 呼叫allowFileSchemeCookies()
加以啟用。
- 登入要求通知
- 為了支援 Android 3.0 所推出的瀏覽器自動登入功能,
新品
方法
onReceivedLoginRequest()
通知主機 已處理對使用者的自動登入要求。
- 為了支援 Android 3.0 所推出的瀏覽器自動登入功能,
新品
方法
- 移除的類別和介面
- 隨後,公用 API 已移除幾個類別和介面 先前處於已淘汰狀態請參閱 API 差異報表。
Browser
瀏覽器應用程式新增了以下功能來支援網路 應用程式:
- 支援在 HTML5 中內嵌影片內嵌播放
<video>
標記。盡可能使用硬體加速播放。 - 針對所有網站上的固定位置元素提供圖層支援 (行動版和 電腦)。
新功能常數
平台新增了硬體功能常數,可供開發人員宣告
納入應用程式資訊清單中,藉此向外部實體告知 Google
說明應用程式要求支援全新硬體功能的需求
新功能開發人員聲明這些功能和其他功能
<uses-feature>
資訊清單元素中的常數。
android.hardware.usb.accessory
:應用程式使用 USB API:與透過 USB 連接的外部硬體裝置通訊 做為主機android.hardware.usb.host
:應用程式使用 USB API 與透過 USB 連接的外部硬體裝置進行通訊,運作方式如 裝置。
Google Play 會根據 <uses-feature>
資訊清單元素中宣告的功能,篩選應用程式。如要進一步瞭解
在應用程式資訊清單中宣告功能,請參閱 Google Play
篩選器。
API 差異報表
如需 Android 3.1 (API) 中所有 API 變更的詳細資料 等級 12),請參閱 API 差異報表。
API 級別
Android 3.1 平台提供 架構 APIAndroid 3.1 API 會指派一個整數 ID 12,也就是 儲存於系統本身這個識別碼稱為「API 級別」 系統才能正確判斷 系統進行更新。
如要在應用程式中使用 Android 3.1 版中導入的 API,
您需要針對
Android 3.1 SDK 平台您可以視需求
可能
需要新增android:minSdkVersion="12"
屬性設為應用程式所用 <uses-sdk>
元素中的
資訊清單。
詳情請參閱「什麼是 API? 關卡?