החל מ-27 במרץ 2025, מומלץ להשתמש ב-android-latest-release
במקום ב-aosp-main
כדי ליצור תרומות ל-AOSP. מידע נוסף זמין במאמר שינויים ב-AOSP.
מגבלות על מודעות Intent במסך מלא
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
כדי למנוע מודעות ספאם ופישינג לפרטי כניסה, החל מ-Android 14, ההרשאה USE_FULL_SCREEN_INTENT
להצגת התראות במסך מלא שמוגדרת כברירת מחדל יכולה להינתן רק לאפליקציות שמספקות פונקציונליות של שליחת קריאה או אזעקה.
בכל האפליקציות שמותקנות ב-Android 14, ההרשאה USE_FULL_SCREEN_INTENT
מופעלת כברירת מחדל. בזמן ההתקנה, חנות Google Play מבטלת את ההרשאה להציג Intent במסך מלא (FSI) לאפליקציות שלא כוללות פונקציונליות של שיחות או שעון מעורר.
באפליקציות שמותקנות בטלפונים עם Android מגרסה 13 ומטה, ההרשאה USE_FULL_SCREEN_INTENT
מופעלת כברירת מחדל.
הרשאת משתמש
ב-Android 14, אפליקציות יכולות להשתמש ב-NotificationManager#canUseFullScreenIntent()
כדי לבדוק אם הן יכולות לשלוח התראות במסך מלא. כדי לקבל הרשאה מהמשתמשים לשלוח התראות במסך מלא, אפליקציות משתמשות ב-ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT
כדי להפעיל את ההגדרה ניהול התראות Intents במסך מלא, כפי שמוצג באיור 1:
איור 1. ממשק משתמש להפעלת אפליקציות לשלוח התראות Intent במסך מלא.
ההגדרה ניהול התראות Intents במסך מלא נמצאת בתפריט הגדרות בקטע גישה מיוחדת לאפליקציות. בממשק המשתמש הזה, המשתמשים יכולים לבטל את ההרשאה הזו במקרה הצורך.
דרישות OEM
ב-Android 14, הרשאות FSI לאפליקציות מופעלות כברירת מחדל. יצרני ציוד מקורי צריכים לציין אילו אפליקציות עומדות בדרישות לקבלת הרשאות FSI. יצרני ציוד מקורי חייבים לוודא שחנות האפליקציות של הצד השלישי מגדירה את מצבי ההקצאה הראשוניים של הרשאות FSI לאפליקציות שלהם באמצעות PackageInstaller.SessionParams
, ובמיוחד באמצעות הפרמטרים PERMISSION_STATE_DEFAULT
, PERMISSION_STATE_DENIED
ו-PERMISSION_STATE_GRANTED
.
אימות
משתמשים בבדיקה של CTS Verifier ב-NotificationFullScreenIntentVerifierActivity.java
ובבדיקה של CTS ב-NotificationManagerTest.java
כדי לאמת את המגבלות של FSI.
בדיקות ידניות
כדי לבדוק באופן ידני את המגבלות של FSI באפליקציה:
- מגדירים את
USE_FULL_SCREEN_INTENT
בקובץ AndroidManifest.xml
של האפליקציה.
- משתמשים ב-
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 שניות
|
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-07-27 (שעון UTC).
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2025-07-27 (שעון UTC)."],[],[],null,["# Full-screen intent limits\n\nTo prevent ad spam and credential phishing, starting with Android 14,\nthe default [`USE_FULL_SCREEN_INTENT`](https://developer.android.com/reference/android/Manifest.permission#USE_FULL_SCREEN_INTENT)\npermission to send full-screen notifications can be granted only to apps that\nprovide calling and alarm functionalities.\n\nFor all apps being installed on Android 14, the\n[`USE_FULL_SCREEN_INTENT`](https://developer.android.com/reference/android/Manifest.permission#USE_FULL_SCREEN_INTENT)\npermission is enabled by default. Upon installation, the Google Play Store\nrevokes the full-screen intent (FSI) permission for apps that do not have\ncalling or alarm functionalities.\n\nFor apps installed on phones running versions\nAndroid 13 or lower, the\n[`USE_FULL_SCREEN_INTENT`](https://developer.android.com/reference/android/Manifest.permission#USE_FULL_SCREEN_INTENT)\npermission remains enabled by default.\n\nUser permission\n---------------\n\nWith Android 14, apps can use [`NotificationManager#canUseFullScreenIntent()`](https://developer.android.com/reference/android/app/NotificationManager#canUseFullScreenIntent())\nto check if they can send full-screen notifications. To get user permission to\nsend full-screen notifications, apps use [`ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT`](https://developer.android.com/reference/android/provider/Settings#ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT)\nto launch the **Manage full screen intents** setting as shown in Figure 1:\n\n**Figure 1.** UI for enabling apps to send full-screen intents.\n\nThe **Manage full screen intents** setting is in the **Settings** menu under\n**Special App Access**. With this UI, users can revoke this permission if needed.\n\nOEM requirements\n----------------\n\nIn Android 14, FSI permissions for apps are enabled by\ndefault. OEMs must specify which apps qualify for FSI permissions. OEMs must\nensure that third-party app stores set the initial grant states of FSI\npermissions for their apps using\n[`PackageInstaller.SessionParams`](https://developer.android.com/reference/android/content/pm/PackageInstaller.SessionParams),\nspecifically with the [`PERMISSION_STATE_DEFAULT`](https://developer.android.com/reference/android/content/pm/PackageInstaller.SessionParams#PERMISSION_STATE_DEFAULT), [`PERMISSION_STATE_DENIED`](https://developer.android.com/reference/android/content/pm/PackageInstaller.SessionParams#PERMISSION_STATE_DENIED), and [`PERMISSION_STATE_GRANTED`](https://developer.android.com/reference/android/content/pm/PackageInstaller.SessionParams#PERMISSION_STATE_GRANTED)\nparameters.\n\nValidation\n----------\n\nUse the CTS Verifier test in [`NotificationFullScreenIntentVerifierActivity.java`](https://android.googlesource.com/platform/cts/+/refs/heads/android16-release/apps/CtsVerifier/src/com/android/cts/verifier/notifications/NotificationFullScreenIntentVerifierActivity.java),\nand the CTS test in [`NotificationManagerTest.java`](https://cs.android.com/android/platform/superproject/+/android-latest-release:cts/tests/app/src/android/app/cts/NotificationManagerTest.java;drc=ed156b1d4a7d91675dba1adb9191a92cf439dab0;l=148)\nto validate the FSI limits.\n\n### Manual tests\n\nFollow these steps to manually test FSI limits on your app:\n\n1. Declare [`USE_FULL_SCREEN_INTENT`](https://developer.android.com/reference/android/Manifest.permission#USE_FULL_SCREEN_INTENT) in your app's `AndroidManifest.xml` file.\n2. Use [`ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT`](https://developer.android.com/reference/android/provider/Settings#ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT) to manage settings to turn FSI on or off.\n3. On your test phone, manually toggle the user permission for full-screen notifications as shown in Figure 1.\n4. Send an FSI notification.\n5. Validate the appearance of the full-screen notification for the following combinations of FSI permission and display modes:\n\n|--------------------|----------------------------------------------------------|----------------------------------------------------------|---------------------------------------------------|-------------------------------|\n| **FSI permission** | **Unlocked screen** | **Locked screen** | **Off screen** | **Always-on display (AOD)** |\n| Granted by user | Persistent heads-up notification (HUN) with pill buttons | Launch FSI | Launch FSI | Launch FSI |\n| Denied by user | HUN with pill buttons for 60s | HUN with pill buttons shows up first in the list for 60s | AOD turns on, shows HUN with pill buttons for 60s | HUN with pill buttons for 60s |"]]