為了防止廣告垃圾郵件和憑證網路釣魚,從 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 必須確保第三方應用程式商店使用PackageInstaller.SessionParams
為其應用程式設定 FSI 權限的初始授予狀態,特別是使用PERMISSION_STATE_DEFAULT
、 PERMISSION_STATE_DENIED
和PERMISSION_STATE_GRANTED
參數。
驗證
使用NotificationFullScreenIntentVerifierActivity.java
中的CTS Verifier 測試和NotificationManagerTest.java
中的CTS 測試來驗證FSI 限制。
手動測試
請按照以下步驟手動測試應用程式上的 FSI 限制:
- 在應用的
AndroidManifest.xml
檔案中聲明USE_FULL_SCREEN_INTENT
。 - 使用
ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT
管理開啟或關閉 FSI 的設定。 - 在您的測試手機上,手動切換全螢幕通知的使用者權限,如圖 1 所示。
- 發送 FSI 通知。
- 驗證以下 FSI 權限和顯示模式組合的全螢幕通知的外觀:
FSI 授權 | 解鎖螢幕 | 鎖定螢幕 | 離螢幕 | 常亮顯示 (AOD) |
由用戶授予 | 帶有藥丸按鈕的持續提醒通知 (HUN) | 啟動FSI | 啟動FSI | 啟動FSI |
被用戶拒絕 | HUN 帶藥丸按鈕 60 多歲 | 帶有藥丸按鈕的 HUN 在 60 年代的列表中排名第一 | AOD 打開,顯示帶有藥丸按鈕的 HUN 60 秒 | HUN 帶藥丸按鈕 60 多歲 |