從 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 所示:
圖 1. 讓應用程式傳送全螢幕意圖的 UI。
您可以在下方的「設定」選單中找到「管理全螢幕意圖」設定。 特殊應用程式存取權。透過這個 UI,使用者可以視需要撤銷這項權限。
原始設備製造商 (OEM) 規定
在 Android 14 中,系統會根據以下項目啟用應用程式的 FSI 權限:
預設值。原始設備製造商 (OEM) 必須指定哪些應用程式符合 FSI 權限資格。原始設備製造商 (OEM) 必須
確保第三方應用程式商店將 FSI 的初始授權狀態設為
授予應用程式權限
PackageInstaller.SessionParams
,
特別針對 PERMISSION_STATE_DEFAULT
、PERMISSION_STATE_DENIED
和 PERMISSION_STATE_GRANTED
參數。
驗證
在 NotificationFullScreenIntentVerifierActivity.java
中使用 CTS Verifier 測試。
NotificationManagerTest.java
中的 CTS 測試
驗證 FSI 限制
手動測試
如要在應用程式中手動測試 FSI 限制,請按照下列步驟操作:
- 宣告
USE_FULL_SCREEN_INTENT
在應用程式的AndroidManifest.xml
檔案中。 - 使用
ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT
管理設定,開啟或關閉 FSI。 - 在測試手機上,手動切換使用者權限以使用全螢幕 如圖 1 所示。
- 傳送 FSI 通知。
- 確認全螢幕通知是否顯示以下內容 FSI 權限和顯示模式的組合:
FSI 權限 | 已解鎖螢幕 | 螢幕鎖定時 | 螢幕外 | 螢幕長亮模式 (AOD) |
由使用者授予 | 持續抬頭通知 (HUN),其中包含藥丸形按鈕 | 啟動金融服務業 | 啟動金融服務業 | 啟動金融服務業 |
使用者已拒絕 | 使用藥丸按鈕顯示 60 秒 | 含有藥丸按鈕的 HUN 於清單首先顯示 60 秒 | 開啟螢幕長亮模式後,60 秒內出現 HUN 的按鈕按鈕 | 使用藥丸按鈕顯示 60 秒 |