Android 10 功能與 API

Android 10 為使用者和開發人員推出了多項優異功能。本文件將重點說明開發人員可使用哪些功能,

如要瞭解這些 API,請參閱 API 差異比較表或前往 Android API 參考資料,尋找「在 API 級別 29 中新增」的 API。請務必查看 Android 10 的使用行為 變更 (適用於指定 API 級別 29 的應用程式以及 所有應用程式),以及隱私權 變更,瞭解平台變更 影響應用程式

安全性增強項目

Android 10 推出多項安全性功能,下列各節會概述這些功能。

改良的生物特徵辨識驗證對話方塊

Android 10 推出了下列改善項目: 生物特徵辨識驗證支援:

  • 檢查生物特徵辨識驗證功能。
  • 備用機制:可讓使用者透過裝置進行驗證 PIN 碼、解鎖圖案或密碼 (如果無法透過生物特徵辨識進行驗證) 。
  • 提示系統不需在使用者之後確認使用者 已使用隱含生物特徵辨識技術進行驗證。例如,您可以 告訴系統,在使用者 而且只透過臉部驗證進行驗證

直接從 APK 執行嵌入式 DEX 程式碼

自 Android 10 起,您可以指示平台執行嵌入式 DEX 直接從應用程式的 APK 檔案中編寫程式碼如果攻擊者利用裝置上的本機編譯程式碼執行竄改攻擊,這種做法可協助防範。

詳情請參閱「直接從 APK 執行嵌入式 DEX 程式碼」。

TLS 1.3 支援

Android 10 開始支援 TLS 1.3。TLS 1.3 是 傳輸層安全標準 (TLS) 標準包含效能優勢和強化安全性。我們的 基準表示可建立高達 40% 的安全連線 處理速度比 TLS 1.2 更快

如要進一步瞭解我們的傳輸層安全標準 (TLS) 1.3 實作項目,請參閱 TLS 一節 調整所有應用程式的行為模式 頁面

公用 Conscrypt API

自 Android 10 起,Conscrypt 安全性供應器便包含了 TLS 功能的公開 API。

此外,這個專區提供的類別 android.net.ssl 包含靜態值 獲得一般開發人員授權的方法 javax.net.ssl API。這些類別的名稱可以推測為複數 對應的 javax.net.ssl 類別。舉例來說,如果程式碼 javax.net.ssl.SSLSocket 的執行個體可改用 SSLSockets

連線功能

Android 10 包含幾項與網路和連線相關的改善項目。

Wi-Fi 網路連線 API

Android 10 開始支援點對點連線。這個 功能可讓應用程式提示使用者變更存取點 透過以下方式與裝置連線: WifiNetworkSpecifier敬上 描述所請求網路的屬性點對點連線用於非網路提供目的,例如 Chromecast 和 Google Home 硬體等次要裝置的引導設定。

詳情請參閱「適用於點對點的 Wi-Fi Network Request API 連線

Wi-Fi 網路建議 API

Android 10 支援您的應用程式,可提示使用者進行連線 連上 Wi-Fi 存取點。您可以提供建議,指出要連線至哪個網路。平台最終會根據 字詞輸入內容

如要進一步瞭解這項功能,請參閱: Wi-Fi 建議

改善 Wi-Fi 高效能模式和低延遲模式

在 Android 10 中,您可以向基礎數據機提供提示,以盡量減少延遲時間。

Android 10 擴充了 Wi-Fi Lock API,以便有效支援高效能作業 以及低延遲模式為提供高效能及 低延遲模式,在低延遲的表現也能進一步最佳化 模式,視數據機支援而定。

只有在取得鎖定的應用程式處於下列狀態時,才能啟用低延遲模式 在前景執行,且螢幕開啟。低延遲模式 特別適合用於即時手遊應用程式

DNS 解析器中的特殊查詢

Android 10 新增原生支援功能,可同時使用明文查詢和 DNS-over-TLS 模式,專門處理 DNS 查詢。先前是平台 DNS 解析器僅支援 A 和 AAAA 記錄,這些記錄只能查詢 IP 位址,但不支援任何其他記錄類型。 DnsResolver API 提供了一般 且可用於查詢 SRVNAPTR 等 紀錄類型。請注意,剖析回應會留在應用程式中執行。

如需以 NDK 為基礎的應用程式,請參閱 android_res_nsend 的說明。

Wi-Fi 輕鬆連線

Android 10 可讓您透過 Easy Connect 佈建 Wi-Fi 將憑證傳送至對等互連裝置,以取代已淘汰的 WPS。 應用程式可透過使用 這個 ACTION_PROCESS_WIFI_EASY_CONNECT_URI敬上 意圖。

如要進一步瞭解這項功能,請參閱: Wi-Fi 輕鬆連線

Wi-Fi Direct 連線 API

Android 10 中的 WifiP2pConfigWifiP2pManager API 類別有更新 支援快速連上 Wi-Fi Direct 連線 提供預先定義的資訊這項資訊會透過側邊頻道分享,例如 例如藍牙或 NFC

以下程式碼範例說明如何使用預先設定的資訊建立群組:

Kotlin

val manager = getSystemService(Context.WIFI_P2P_SERVICE) as WifiP2pManager
val channel = manager.initialize(this, mainLooper, null)

// prefer 5G band for this group
val config = WifiP2pConfig.Builder()
    .setNetworkName("networkName")
    .setPassphrase("passphrase")
    .enablePersistentMode(false)
    .setGroupOperatingBand(WifiP2pConfig.GROUP_OWNER_BAND_5GHZ)
    .build()

// create a non-persistent group on 5GHz
manager.createGroup(channel, config, null)

Java

WifiP2pManager manager = (WifiP2pManager) getSystemService(Context.WIFI_P2P_SERVICE);
Channel channel = manager.initialize(this, getMainLooper(), null);

// prefer 5G band for this group
WifiP2pConfig config = new WifiP2pConfig.Builder()
.setNetworkName("networkName")
.setPassphrase("passphrase")
.enablePersistentMode(false)
.setGroupOperatingBand(WifiP2pConfig.GROUP_OWNER_BAND_5GHZ)
.build();

// create a non-persistent group on 5GHz
manager.createGroup(channel, config, null);

如要使用憑證加入群組,請將 manager.createGroup() 替換成 包括:

Kotlin

manager.connect(channel, config, null)

Java

manager.connect(channel, config, null);

藍牙 LE 連線方向頻道 (CoC)

Android 10 可讓應用程式使用 BLE CoC 連線傳輸較大資料 在兩部 BLE 裝置之間串流播放串流。這個介面會提取 以簡化導入作業

電話功能

Android 10 包含多項與電話相關的改善項目。

改善通話品質

Android 10 新增了一項功能,可收集持續性品質的相關資訊 IP 多媒體子系統 (IMS) 呼叫,包括網路傳入和傳出的品質 在支援這項功能的裝置上

來電過濾和來電顯示

Android 10 可讓您的應用程式識別非 視為疑似騷擾電話,且廣告會撥打騷擾電話。 未代表使用者拒絕授權。這些已封鎖通話的相關資訊 會將通話記錄為已封鎖的通話,讓 使用者漏接來電時。使用這個 API 會取消必要條件 向使用者取得 READ_CALL_LOG 權限,以提供來電過濾功能 和來電顯示功能

呼叫重新導向服務 API

Android 10 變更呼叫意圖的處理方式。 NEW_OUTGOING_CALL 廣播訊息已淘汰,取而代之的是 CallRedirectionService API。CallRedirectionService API 提供 介面,方便您修改 Android 平台撥出的通話。適用對象 舉例來說,第三方應用程式可能會取消通話,並透過 IP 網路語音傳遞技術重新轉送。

改善在外部儲存空間建立檔案的功能

除了導入 限定範圍外, 儲存空間 Android 10 新增了下列外部相關功能 儲存空間:

媒體和圖形

Android 10 推出了下列新的媒體和圖形功能和 API:

分享音訊輸入內容

Android 10 新增了讓兩個應用程式同時共用音訊輸入的功能。 如需完整資訊,請參閱「共用音訊輸入內容」。

音訊播放擷取

Android 10 可讓應用程式擷取其他應用程式的音訊播放內容。 詳情請參閱「播放擷取內容」。

MediaStyle 通知中的跳轉滑桿

自 Android 10 起,MediaStyle 通知會顯示進度列。跳轉滑桿會出現 從 PlaybackState.getPosition()、 在某些情況下,跳轉功能的用途為跳轉至播放中地點 計畫。搜尋列的外觀和行為是由以下規則控管:

  • 如有使用中的 MediaSession 及其時間長度,系統會顯示跳轉列 (由 MediaMetadata.METADATA_KEY_DURATION 指定) 大於零。 因此,這類未定的直播影片 (例如 直播和電台廣播。
  • 如果工作階段實作 ACTION_SEEK_TO,使用者可將搜尋列拖曳至 控製播放位置

原生 MIDI API

Android Native MIDI API (AMidi) 可讓應用程式開發人員 ,以便透過 C/C++ 程式碼傳送及接收 MIDI 資料,並與 C/C++ 音訊/控制邏輯,並將 JNI 的需求降到最低。

詳情請參閱「Android 原生 MIDI API」。

改善 MediaCodecInfo

Android 10 新增方法 MediaCodecInfo,內含更多資訊 關於轉碼器的資訊

詳情請參閱「媒體轉碼器」一文。

熱能 API

當裝置過熱時,裝置可能會對 CPU 和/或 GPU 進行節流措施,進而以非預期方式影響應用程式和遊戲。如果應用程式使用複雜的圖形、大量運算或持續的網路活動,就更有可能發生問題,而這些問題可能因晶片組和核心頻率、整合程度,以及裝置封裝和外型而有所不同。

在 Android 10 中,應用程式和遊戲可以使用 Thermal API 監控裝置的變化,並採取相應措施以維持較低的耗電量,以便恢復正常溫度。應用程式註冊事件監聽器 PowerManager 中 回報持續的熱力狀態,範圍從輕度到重度 關鍵、緊急和關機

裝置回報熱應力時,應用程式和遊戲可以透過各種方式結束進行中的活動,以降低耗電量。例如: 串流應用程式可能會降低解析度/位元率或網路流量 可能會停用閃光燈或高強度圖片強化功能, 影格速率或多邊形傾斜度,媒體應用程式則可降低喇叭音量 則地圖應用程式可能會關閉 GPS。

Thermal API 需要新的裝置 HAL 層,但目前受到支援 而且我們已經與裝置製造商合作 合作夥伴能盡快為生態系統提供廣泛的支援。

相機和圖片

Android 10 推出了下列新的相機和圖片相關功能:

支援單色相機

Android 9 (API 級別 28) 首次推出單色相機功能。Android 10 為黑白相機支援功能新增了幾項強化功能:

  • 支援 Y8 串流格式,以提高記憶體效率。
  • 支援單色原始 DNG 擷取。
  • 推出 MONO 和 NIR CFA 列舉,以區分一般 單色相機並靠近紅外線相機

您可以使用這項功能擷取原生單色圖片。邏輯 多鏡頭裝置可使用單色攝影機做為實體子鏡頭, 可在低光源環境中拍出畫質更好的影像

動態景深格式

從 Android 10 開始,相機可將圖像的深度資料儲存在 建立獨立的檔案,並使用名為「動態深度格式 (DDF)」的新架構。應用程式可以同時要求 JPG 圖片和深度中繼資料,並利用這些資訊在後製時套用所需的任何模糊效果,而無須修改原始圖片資料。

如要閱讀此格式的規格,請參閱 動態深度格式

高效率圖片檔案格式

高效率圖片檔案 (HEIF) 格式是標準的圖片和影片格式 相較於 Transformer 模型 或是其他檔案格式

如要進一步瞭解檔案格式,請參閱 HEIC

改善多相機功能

Android 10 改善了將多部相機融合為單一邏輯相機的功能,此功能已在 Android 9 (API 級別 28) 中推出。下列項目已新增至 這個 Camera2 API

Accessibility Services API

Android 10 推出下列新的無障礙服務功能和 API:

AccessibilityNodeInfo 登錄碼標記

從 Android 10 版本開始, isTextEntryKey()敬上 判斷指定的 AccessibilityNodeInfo 是否代表文字輸入鍵 這類元件包括鍵盤或撥號鍵盤的一部分

無障礙工具對話方塊互動朗讀

如果使用者需要執行無障礙工具捷徑才能啟動無障礙服務,Android 10 會在服務要求時,允許對話方塊搭配文字轉語音提示。

啟用手勢操作時,使用無障礙捷徑

啟用手勢操作功能時 在 Android 10 中,無障礙設計 按鈕 「可選取」或「可選取」如要存取無障礙服務選單,使用者必須 請執行下列任一手勢:

  • 以兩指向上滑動。
  • 以兩指向上滑動並按住,

實體鍵盤的無障礙工具捷徑

在 Android 10 中,使用者可以在 按下 Control+Alt+Z 鍵。

強化螢幕鍵盤控制器功能

在 Android 10 中,無障礙服務可要求 即使裝置偵測到實體鍵盤連接時仍會顯示鍵盤。 使用者可以覆寫這個行為。

使用者定義的無障礙功能逾時

Android 10 導入了 getRecommendedTimeoutMillis()敬上 也能使用 Google Cloud CLI 或 Compute Engine API此方法支援使用者定義的互動式逾時設定 非互動式 UI 元素傳回值受到兩位使用者影響 偏好設定和無障礙服務 API

改善自動填入功能

Android 10 針對自動填入服務進行下列改善。

相容性相關自動填入要求

您可以使用 FillRequest.FLAG_COMPATIBILITY_MODE_REQUEST敬上 旗標,判斷是否透過相容性產生自動填入要求 模式。

同時儲存使用者名稱和密碼

您可以在應用程式使用多個活動的情況下, 顯示使用者名稱、密碼和其他欄位 SaveInfo.FLAG_DELAY_SAVE敬上 旗標。

使用者與「儲存 UI」的互動

您可以設定動作,在儲存對話方塊中顯示或隱藏密碼欄位 並變更對應密碼的顯示設定 遠端檢視。

支援更新資料集

自動填入功能可更新現有密碼。舉例來說 儲存密碼後,使用者儲存新密碼,自動填入功能會提示使用者 更新現有密碼而非儲存新密碼。

欄位分類功能改善

Android 10 對 Field Classification API 進行下列改善。

使用者資料.Builder 建構函式

UserData.Builder敬上 建構函式已變更,以便更符合 Builder 模式。

允許將某個值對應至多種類別 ID

使用 UserData.Builder 英吋 Android 10 您現在可以將值對應至多種類別 ID。於 舊版本,如果重複加入某個值,就會擲回例外狀況。

進一步支援信用卡號

欄位分類現在可以偵測末四碼為四位數 信用卡號碼

支援應用程式專屬的欄位分類

Android 10 新增項目 FillResponse.setUserData()、 可讓您設定工作階段期間的應用程式專屬使用者資料。 這有助於自動填入服務偵測應用程式特定欄位的類型 內容。

UI 和系統控制項

Android 10 提供了下列使用者介面改善項目:

支援 JVMTI PopFrame 上限

Android 10 開始支援 can_pop_frames敬上 Android JVMTI 實作的所有功能。在偵錯時,您可以在暫停在中斷點並調整函式的本機、全域或實作項目後,重新執行函式。若需更多資訊,請參閲 Oracle 的彈出式視窗參考資料頁面

Surface 控制項 API

Android 10 提供了 SurfaceControl API 以低階存取系統合成器 (SurfaceFlinger)。適用對象 對大多數使用者來說,SurfaceView 是運用合成器的正確方法。SurfaceControl API 在某些情況下非常實用,例如:

  • 多個介面的同步處理作業
  • 跨程序介面嵌入
  • 低層生命週期管理

SurfaceControl API 適用於 SDK 和 NDK 繫結。 NDK 實作包含一個 API,可用於手動交換緩衝區 來生成圖像如此一來,執行 限制 BufferQueue

WebView 飢餓轉譯器偵測

Android 10 推出了 WebViewRenderProcessClient 抽象類別,應用程式可利用這項類別偵測 WebView 是否已無回應。目的地: 請使用這個類別:

  1. 定義自己的子類別並實作其 onRenderProcessResponsive()敬上 和 onRenderProcessUnresponsive() 方法。
  2. WebViewRenderProcessClient 例項連接至一或多個執行個體 WebView 物件。
  3. 如果 WebView 沒有回應,系統會呼叫 用戶端的 onRenderProcessUnresponsive() 方法,傳遞 WebViewWebViewRenderProcess。(如果 WebView 是單一程序,WebViewRenderProcess 參數為 null)。您的應用程式可以採取適當行動,例如 對話方塊,詢問是否要停止轉譯程序。

如果 WebView 仍未回應,系統會定期呼叫 onRenderProcessUnresponsive() (每五秒一次,最多一次),但不會採取其他動作。如果 WebView 再次回應,系統只會呼叫 onRenderProcessResponsive() 一次。

設定面板

Android 10 推出了設定面板,這個 API 可讓應用程式顯示 並根據使用者應用程式的情境 套用適當設定避免使用者 前往「設定」頁面,然後變更 NFC行動數據等項目 才能使用應用程式。

圖 1. 使用者在裝置時嘗試開啟網頁 未連線至網路。Chrome 彈出「網際網路連線」視窗 設定面板...

圖 2. 使用者可以開啟 Wi-Fi 並選取網路 不必離開 Chrome 應用程式
,瞭解如何調查及移除這項存取權。

舉例來說,假設使用者在裝置處於飛航模式時開啟網路瀏覽器。在 Android 10 以下版本中,應用程式只能顯示一般訊息 要求使用者開啟「設定」來恢復連線。搭載 Android 10 瀏覽器應用程式可顯示內嵌面板,顯示主要連線設定 例如飛航模式、Wi-Fi (包括附近的網路) 和行動數據。取代為 使用者不必離開應用程式,即可恢復連線。

如要顯示設定面板,請使用下列其中一種指令觸發意圖 Settings.Panel 動作:

Kotlin

val panelIntent = Intent(Settings.Panel.settings_panel_type)
startActivityForResult(panelIntent)

Java

Intent panelIntent = new Intent(Settings.Panel.settings_panel_type);
startActivityForResult(panelIntent);

settings_panel_type 可以是下列任一項:

ACTION_INTERNET_CONNECTIVITY
顯示網路連線相關設定,例如飛航模式、Wi-Fi、 和行動數據。
ACTION_WIFI
顯示 Wi-Fi 設定,但「不」顯示其他連線設定。這是 對需要 Wi-Fi 連線才能執行大型上傳作業的應用程式,或是 下載內容。
ACTION_NFC
顯示與近距離無線通訊 (NFC) 相關的所有設定。
ACTION_VOLUME
顯示所有音訊串流的音量設定。

改善分享方式

Android 10 針對分享功能提供了一些改善項目:

Sharing Shortcuts API

Sharing Shortcuts API 取代「直接分享」 API

Share Shortcuts API 不會主動擷取結果,不如預期擷取結果 ,讓應用程式預先發布直接分享目標。ShortcutManager 的運作方式如下。由於這兩個 API 相似,因此我們已擴充 ShortcutInfo API,以同時使用 功能透過 Shared Shortcuts API 直接指派 以及如何根據相同條件指定共用對象共用目標會保留在系統中 直到相同應用程式更新或解除安裝應用程式為止。

舊版的直接分享機制仍可運作,但採用這種機制的應用程式較低 優先於使用 Share Shortcuts API 的應用程式。

ShortcutInfo.Builder 新增及強化方法,提供有關共用目標的其他資訊。

直接分享目標

您可以將動態捷徑發布為直接分享目標。 請參閱「發布直接共用目標」。

ShortcutManagerCompat敬上 是全新的 AndroidX API,提供與舊版 DirectShare API 回溯相容性的功能。這是發布分享目標的建議做法。

預覽文字

當應用程式分享文字內容時,可顯示以下選項的選用預覽畫面: Sharesheet 使用者介面中的內容。

請參閱新增 RTF 格式預覽

瞭解詳情

如要進一步瞭解應用程式如何分享資料, 請參閱傳送簡單資料給其他應用程式接收其他應用程式傳送的簡單資料

深色主題

Android 10 提供深色主題,適用於 Android 系統 UI 和在裝置上執行的應用程式。如需完整資訊 請參閱「深色主題」。

前景服務類型

Android 10 推出 foregroundServiceType XML 資訊清單屬性,可納入多項特定服務的定義。您可以指派多個 針對特定服務套用前景服務類型

下表顯示了不同的前景服務類型,以及 或適當宣告特定類型的服務:

前景服務類型 應宣告此類型的服務用途範例
connectedDevice 監控穿戴式健身智慧手環
dataSync 從網路下載檔案
location 繼續 使用者執行的操作
mediaPlayback 播放有聲書、Podcast 或音樂
mediaProjection 錄製裝置螢幕的一小段影片。
phoneCall 處理進行中的通話

Kotlin

Android 10 包含下列 Kotlin 開發作業更新。

libcore API 的可為空值註解

Android 10 改善了以下項目中可為空值註解的涵蓋範圍: libcore API 專用的 SDK這些註解可讓在 Android Studio 中使用 Kotlin 或 Java 空值分析的應用程式開發人員,在與這些 API 互動時取得空值資訊。

通常,Kotlin 中的是否可為空值合約違規會導致編譯錯誤。為確保與現有程式碼相容,請只使用 已新增 @RecentlyNullable@RecentlyNonNull 註解。也就是說 如果有可為空值違規情形,則會收到警告,而非發生錯誤。

此外,在 Android 9 中新增的任何 @RecentlyNullable@RecentlyNonNull 註解,都會分別變更為 @Nullable@NonNull。也就是說,在 Android 10 以上版本中,可為空值的違規行為會導致錯誤,而非警告。

如要進一步瞭解註解變更,請參閱 Android Pie SDK 現在支援 Kotlin

NDK

Android 10 包含下列 NDK 異動。

改善檔案描述元擁有權的偵錯功能

Android 10 新增了 fdsan,可協助您尋找並修正檔案描述元擁有權 解決問題

處理未處理檔案描述元擁有權的錯誤 (通常顯示出來) 如同 use-after-closedouble-close,這類似於記憶體配置 使用釋放後記憶體雙重釋放錯誤,但這通常更加困難 診斷和修正fdsan 會嘗試偵測和/或預防檔案描述元 或強制要求檔案描述元擁有權。

如要進一步瞭解與這些問題相關的當機問題,請參閱 fdsan 偵測到的錯誤。 如要進一步瞭解 fdsan,請參閱 位於 fdsan 的 Google 來源網頁

ELF TLS

使用 NDK 建構的應用程式,搭配最低 API 級別 29 可以使用 ELF TLS 而不是 emutls。新增對動態和靜態連結器的支援 這個方法可以有效處理執行緒本機變數

針對 API 級別 28 以下版本建構的應用程式,我們已完成改善 ,libgcc/compiler-rt 可解決一些emutls問題。

若需更多資訊,請參閲 NDK 開發人員適用的 Android 變更

執行階段

Android 10 包含下列執行階段變更。

以 Mallinfo 為基礎的垃圾收集觸發條件

當小型平台 Java 物件在 C++ 堆積中參照大型物件時, 通常只有在收集 Java 物件時,才能回收 C++ 物件,以及 例如最後在先前的版本中,平台預估了使用的尺寸 其中列出許多與 Java 物件相關的 C++ 物件。這項估算值不一定準確,有時還會導致記憶體用量大幅增加,因為平台無法在適當時間進行垃圾收集。

在 Android 10 中,垃圾收集器 (GC) 會追蹤總大小 由系統 malloc() 分配的堆積,確保較大的 malloc() GC 觸發計算一律納入分配金額應用程式交錯 透過 Java 執行,大量的 C++ 配置可能會增加 進而達成垃圾收集頻率其他應用程式可能會出現小幅下滑。

測試和偵錯

Android 10 包含以下測試和偵錯功能的改善項目。

改善裝置端系統追蹤

從 Android 10 開始,您可以指定 指定追蹤記錄時間長度 裝置上的系統追蹤。如果指定 任一值,系統都會執行長追蹤記錄,定期複製追蹤記錄 緩衝區轉移到目的地檔案。追蹤記錄完成 將達到您指定的大小或時間長度限制。

您可以使用這些額外的參數來測試與測試不同的用途 標準追蹤記錄中舉例來說,您可能要診斷只有在應用程式執行一段長時間後才會發生的效能錯誤。於 可以記錄一整天的長期追蹤記錄 讀取報表中的 CPU 排程器、磁碟活動、應用程式執行緒及其他資料 有助於判斷錯誤原因

在 Android 10 以上版本中,追蹤檔會以 可以透過 Perfetto 開啟 開放原始碼專案,用於效能檢測和追蹤。您可以將 Perfetto 追蹤記錄檔案轉換為 Systrace 格式

TextClassifier 改善項目

Android 10 的 TextClassifier敬上 存取 API

語言偵測

detectLanguage()敬上 方法運作方式與先前現有的分類方法類似。這項服務 收到 TextLanguage.Request敬上 物件並傳回 TextLanguage。 物件。

TextLanguage 物件包含序對清單。每個組合 包含語言代碼以及對應的分類可信度分數。

建議的會話群組動作

suggestConversationActions() 方法的運作方式與現有分類方法類似。它會接收 ConversationActions.Request 物件,並傳回 ConversationActions 物件。

ConversationActions敬上 物件是由 ConversationAction 如需儲存大量結構化物件 建議使用 Cloud Bigtable每個 ConversationAction 物件都包含 建議的操作及可信度分數

通知中的智慧回覆/動作

Android 9 推出了在 通知。Android 10 進一步擴充這項功能,可納入建議的意圖動作。此外,這個平台 來產生這些建議應用程式仍可自行提供 或停用系統產生的建議。

用來產生這些回覆的 API 屬於 TextClassifier、 且已直接對 Android 10 的開發人員公開。 請參閱 TextClassifier 改善項目 瞭解詳情

如果您的應用程式有自己的建議,則平台不會產生任何建議 自動建議如果不想顯示應用程式的通知 任何建議的回覆或操作,可以選擇停用系統產生的回覆 和動作 setAllowGeneratedReplies()敬上 和 setAllowSystemGeneratedContextualActions()