全螢幕意圖限制

為防範垃圾廣告和憑證網路釣魚攻擊,自 Android 14 起,只有提供通話和鬧鐘功能的應用程式,才能預設取得傳送全螢幕通知的 USE_FULL_SCREEN_INTENT 權限。

在 Android 14 上安裝的所有應用程式,預設都會啟用 USE_FULL_SCREEN_INTENT 權限。安裝後,Google Play 商店會撤銷不具備通話或鬧鐘功能應用程式的全螢幕意圖 (FSI) 權限。

如果應用程式安裝在執行 Android 13 以下版本的手機上,USE_FULL_SCREEN_INTENT 權限會預設保持啟用狀態。

使用者權限

在 Android 14 中,應用程式可以使用 NotificationManager#canUseFullScreenIntent() 檢查是否可以傳送全螢幕通知。如要取得使用者授權,允許應用程式傳送全螢幕通知,請使用 ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT 啟動「管理全螢幕意圖」設定,如圖 1 所示:

fsi-ui

圖 1. 啟用應用程式傳送全螢幕意圖的 UI。

「管理全螢幕意圖」設定位於「特殊應用程式存取權」下的「設定」選單。使用者可以透過這個 UI 視需要撤銷這項權限。

原始設備製造商 (OEM) 需求

在 Android 14 中,系統預設會啟用應用程式的 FSI 權限。原始設備製造商必須指定哪些應用程式符合 FSI 權限資格。原始設備製造商必須確保第三方應用程式商店使用 PackageInstaller.SessionParams 為應用程式設定 FSI 權限的初始授權狀態,具體來說,就是使用 PERMISSION_STATE_DEFAULTPERMISSION_STATE_DENIEDPERMISSION_STATE_GRANTED 參數。

驗證

NotificationFullScreenIntentVerifierActivity.java 中使用 CTS 驗證器測試,以及在 NotificationManagerTest.java 中使用 CTS 測試,驗證 FSI 限制。

手動測試

如要手動測試應用程式的 FSI 限制,請按照下列步驟操作:

  1. 在應用程式的 AndroidManifest.xml 檔案中宣告 USE_FULL_SCREEN_INTENT
  2. 使用 ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT 管理設定,開啟或關閉 FSI。
  3. 在測試手機上,手動切換全螢幕通知的使用者權限,如圖 1 所示。
  4. 傳送 FSI 通知。
  5. 針對下列 FSI 權限和顯示模式組合,驗證全螢幕通知的外觀:
金融服務業權限 解鎖畫面 螢幕鎖定 螢幕關閉 螢幕長亮模式 (AOD)
使用者授權 含有藥丸按鈕的常駐抬頭通知 (HUN) 啟動 FSI 啟動 FSI 啟動 FSI
使用者已拒絕 HUN with pill buttons for 60s 在 60 秒的影片中,帶有藥丸按鈕的 HUN 會優先顯示在清單中。 AOD 會開啟,並顯示抬頭通知和藥丸按鈕 60 秒 HUN with pill buttons for 60s