פעילות

גישה לממשקי API קומפוזביליים שמבוססים על פעילות.
העדכון האחרון גרסה יציבה מועמד לפרסום גרסת בטא גרסת אלפא
4 בספטמבר 2024 1.9.2 - - 1.10.0-alpha02

הצהרה על יחסי תלות

כדי להוסיף תלות בפעילות, עליך להוסיף את מאגר Google Maven פרויקט. למאגר Maven של Google אפשר לקבל מידע נוסף.

מוסיפים את יחסי התלות של פריטי המידע הנדרשים בקובץ build.gradle בשביל האפליקציה או המודול שלך:

מגניב

dependencies {
    def activity_version = "1.9.2"

    // Java language implementation
    implementation "androidx.activity:activity:$activity_version"
    // Kotlin
    implementation "androidx.activity:activity-ktx:$activity_version"
}

Kotlin

dependencies {
    val activity_version = "1.9.2"

    // Java language implementation
    implementation("androidx.activity:activity:$activity_version")
    // Kotlin
    implementation("androidx.activity:activity-ktx:$activity_version")
}

למידע נוסף על יחסי תלות, אפשר לעיין במאמר הוספת יחסי תלות של build.

משוב

המשוב שלך עוזר לנו לשפר את Jetpack. נשמח לשמוע אם גילית בעיות חדשות או אם יש לך רעיונות לשיפור הספרייה הזו. מומלץ לעיין בעיות קיימות בספרייה הזו לפני שיוצרים ספר חדש. אפשר להוסיף את ההצבעה שלך לבעיה קיימת על ידי לחיצה על לחצן הכוכב.

דיווח על בעיה חדשה

מקורות מידע בנושא מעקב אחר בעיות אפשר לקבל מידע נוסף.

גרסה 1.10

גרסה 1.10.0-alpha02

4 בספטמבר 2024

androidx.activity:activity:1.10.0-alpha02, androidx.activity:activity-compose:1.10.0-alpha02 ו-androidx.activity:activity-ktx:1.10.0-alpha02 שוחררו. גרסה 1.10.0-alpha02 מכילה את התחייבויות אלה.

שינויים בהתנהגות

  • החוזים של תוצאות הפעילות PickVisualMedia ו-PickMultipleVisualMedia שמפעילים את הכלי לבחירת תמונות כבר לא נותנים גישה ישירה לשירותי Google Play אם הכלי לבחירת תמונות של המערכת לא זמין, אבל נעשה שימוש בפעולה ACTION_SYSTEM_FALLBACK_PICK_IMAGES הציבורית ובתוספות הרלוונטיות כדי לספק ליצרני ציוד מקורי ולאפליקציות מערכת חוויה עקבית של הכלי לבחירת תמונות. לא אמורה להיות לכך השפעה על חוויית המשתמש במכשירים עם גרסה עדכנית של Google Play Services. (I3513d)

תיקוני באגים

  • הוסרה חלוקה ידנית של הגישה לממשקי API של פלטפורמות חדשות, כי זה קורה באופן אוטומטי באמצעות בניית מודלים של API כשמשתמשים ב-R8 עם AGP 7.3 ואילך (למשל R8 גרסה 3.3) ובכל גרסאות ה-build כשמשתמשים ב-AGP 8.1 ואילך (למשל D8 גרסה 8.1). ללקוחות שלא משתמשים ב-AGP מומלץ לעדכן לגרסה D8 ואילך. למידע נוסף, מומלץ לעיין במאמר הזה. (I9496c, b/345472586)
  • מפעילות 1.9.2: תוקנה בעיה שבה ממשק ה-API של 'כתיבה מהירה' PredictiveBackHandler ימשיך לטפל בתנועת החזרה של המערכת במסגרת שבה הוא הושבת. כתוצאה מכך, ספריות כמו 'ניווט בכתיבה' יטופלו בחזרה גם כשה-API לכתיבה הוא ריק, וכתוצאה מכך התוצאה הייתה IndexOutOfBoundsException. (Ie3301, b/340202286)
  • מפעילות 1.9.1: תוקנה בעיה עם PredictiveBackHandler. אחרי שמבצעים חזרה את המערכת, ניסיון לבצע onBackPressed מ-OnBackPressedDispatcher ייכשל. (I5f1f8)

גרסה 1.10.0-alpha01

26 ביוני 2024

androidx.activity:activity:1.10.0-alpha01, androidx.activity:activity-compose:1.10.0-alpha01 ו-androidx.activity:activity-ktx:1.10.0-alpha01 שוחררו. הגרסה הזו פותחה בהסתעפות פנימית.

תכונות חדשות

  • נוספה תמיכה בתכונות חדשות של PhotoPicker שהושקו ב-Android V, כולל היכולת לבחור תמונות לפי סדר ולבחור איזו כרטיסייה (אלבומים או תמונות) תוצג בהתחלה.

גרסה 1.9

גרסה 1.9.2

4 בספטמבר 2024

androidx.activity:activity:1.9.2, androidx.activity:activity-compose:1.9.2 ו-androidx.activity:activity-ktx:1.9.2 שוחררו. גרסה 1.9.2 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • תוקנה בעיה שבה ממשק ה-API של PredictiveBackHandler לכתיבה פעילות המשיך לטפל בתנועת החזרה של המערכת במסגרת שבה הוא הושבת. כתוצאה מכך, יכול להיות שספריות כמו 'ניווט בכתיבה' יטפלו בחזרה גם כשה-Back Stack ריק, וכתוצאה מכך התוצאה הייתה IndexOutOfBoundsException. (Ie3301, b/340202286)

גרסה 1.9.1

24 ביולי 2024

androidx.activity:activity:1.9.1, androidx.activity:activity-compose:1.9.1 ו-androidx.activity:activity-ktx:1.9.1 שוחררו. גרסה 1.9.1 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • תוקנה בעיה ב-PredictiveBackHandler שבה אחרי הפעלה מחדש של המערכת, ניסיון לבצע onBackPressed מ-OnBackPressedDispatcher ייכשל. (I5f1f8)

גרסה 1.9.0

17 באפריל 2024

androidx.activity:activity:1.9.0, androidx.activity:activity-compose:1.9.0 ו-androidx.activity:activity-ktx:1.9.0 שוחררו. גרסה 1.9.0 כוללת את ההתחייבויות האלה.

שינויים חשובים מאז 1.8.0

  • ComponentActivity מטמיעים עכשיו את OnUserLeaveHintProvider כדי לאפשר לרכיבים לבצע קריאה חוזרת (callback) עבור אירועי onUserLeaveHint.
  • ממשקי ה-API OnBackPressedCallback, BackHandler ו-PredictiveBackHandler מציגים עכשיו אזהרה כשמבצעים קריאה ל-onBackPressedDispatcher.onBackPressed() כשמתקבלת התראה, כי הפעולה הזו תמיד תעצור את האנימציה החזויה. פרטים נוספים זמינים במדריך השיטות המומלצות.
  • שאר ממשקי ה-API של הפעילות נכתבו מחדש ב-Kotlin וכל התוספים שהיו זמינים בעבר ב-activity-ktx הועברו אל activity. השדה activity-ktx ריק לגמרי.
    • כחלק מההמרה של ActivityResultLauncher ל-Kotlin, שיטת getContract היא עכשיו נכס מופשט ב-Kotlin. זהו שינוי שתואם להתאמה בינארית, אבל יגרום לשיבושים במקור אם ההטמעה של ActivityResultLauncher נכתבת ב-Kotlin.

גרסה 1.9.0-rc01

3 באפריל 2024

androidx.activity:activity:1.9.0-rc01, androidx.activity:activity-compose:1.9.0-rc01 ו-androidx.activity:activity-ktx:1.9.0-rc01 שוחררו. גרסה 1.9.0-rc01 מכילה את ההתחייבויות האלה.

עדכון בנושא תלות

גרסה 1.9.0-beta01

20 במרץ 2024

androidx.activity:activity:1.9.0-beta01, androidx.activity:activity-compose:1.9.0-beta01 ו-androidx.activity:activity-ktx:1.9.0-beta01 שוחררו. גרסה 1.9.0-beta01 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • תוקנה רגרסיה של ביצועי ההפעלה של הפעילות בקטע פעילות 1.9.0-alpha02 שנגרמה כתוצאה מהפעלה של OnBackPressedDispatcher כחלק מיצירת הפעילות. (Ie75e3)

גרסה 1.9.0-alpha03

7 בפברואר 2024

androidx.activity:activity:1.9.0-alpha03, androidx.activity:activity-compose:1.9.0-alpha03 ו-androidx.activity:activity-ktx:1.9.0-alpha03 שוחררו. גרסה 1.9.0-alpha03 מכילה את התחייבויות אלה.

אזהרה על איתור שגיאות בקוד

תיקוני באגים

  • אם אירוע החזרה נשלח מהמערכת שהתחיל במהלך תנועת חזרה חזויה שכבר פועלת, תנועת החזרה החזויה שרצה כרגע תבוטל ואירוע החזרה החדש יתחיל לפעול כדי להתחיל תנועת חזרה חזויה חדשה. (I3482e)
  • תוקנה קריסה במהלך גישה בפעם הראשונה ל-onBackPressedDispatcher מ-ComponentActivity משרשור ברקע. עכשיו אפשר להיכנס בבטחה אל onBackPressedDispatcher בכל שרשור. (I79955)

גרסה 1.9.0-alpha02

24 בינואר 2024

androidx.activity:activity:1.9.0-alpha02, androidx.activity:activity-compose:1.9.0-alpha02 ו-androidx.activity:activity-ktx:1.9.0-alpha02 שוחררו. גרסה 1.9.0-alpha02 מכילה את התחייבויות אלה.

המרות של קוטלין

  • ActivityResultRegistry נכתב/ה ב-Kotlin. הדבר מבטיח שיכולת הביטול של הכללים הגנריים בחוזה שהועבר אל register תועבר כראוי אל ActivityResultLauncher שמוחזר. (I121f0)
  • ActivityResult נכתב/ה ב-Kotlin. תוספי Kotlin מסוג ActivityResult שתומכים בבנייה בתוך השדות resultCode ו-data הועברו מ-activity-ktx ל-activity. (I0565a)
  • תוספי Kotlin של by viewModels() עבור ComponentActivity ו-trackPipAnimationHintView הועברו מ-activity-ktx ל-activity. פריט המידע שנוצר בתהליך הפיתוח (Artifact) מסוג activity-ktx ריק עכשיו לחלוטין. (I0a444)

תיקוני באגים

  • מעכשיו, ה-API של enableEdgeToEdge מוקף בכל המגרעים במסך. (a3644b, b/311173461)
  • מפעילות 1.8.2: תוקנה הבעיה שהועברה לחוזה הפעילות של בוחר התמונות בACTION_SYSTEM_FALLBACK_PICK_IMAGES, כך שעכשיו ניתן להעביר לו את המפתח EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX בצורה נכונה, במקום להשתמש בתוספות עם המפתח "com.google.android.gms.provider.extra.PICK_IMAGES_MAX". אם אתם יצרני ציוד מקורי (OEM) שמטמיעים כלי לבחירת תמונות לגיבוי, מומלץ מאוד לתמוך בשתי התוספות כדי להבטיח תאימות רחבה. (I96a00)

גרסה 1.9.0-alpha01

29 בנובמבר 2023

androidx.activity:activity:1.9.0-alpha01, androidx.activity:activity-compose:1.9.0-alpha01 ו-androidx.activity:activity-ktx:1.9.0-alpha01 שוחררו. גרסה 1.9.0-alpha01 מכילה את התחייבויות אלה.

תכונות חדשות

  • ComponentActivity מטמיעים עכשיו את OnUserLeaveHintProvider כדי לאפשר לרכיבים לבצע קריאה חוזרת (callback) עבור אירועי onUserLeaveHint. (I54892)

שינויים ב-API

  • ComponentActivity נכתב/ה ב-Kotlin. (I14f31)
  • ActivityResultCaller נכתב/ה ב-Kotlin. (Ib02e4)
  • ActivityResultLauncher נכתב/ה ב-Kotlin. כחלק מההמרה הזו, השיטה getContract היא עכשיו נכס מופשט של Kotlin. זהו שינוי שתואם להתאמה בינארית, אבל יגרום לשיבושים במקור אם ההטמעה של ActivityResultLauncher נכתבת ב-Kotlin. (Id4615)
  • רמת ה-API המינימלית של PickVisualMediaRequest זהה עכשיו לחוזה של תוצאת הפעילות של PickVisualMedia. (Id6e21)

עדכון לגבי תלות

גרסה 1.8

גרסה 1.8.2

13 בדצמבר 2023

androidx.activity:activity:1.8.2, androidx.activity:activity-compose:1.8.2 ו-androidx.activity:activity-ktx:1.8.2 שוחררו. גרסה 1.8.2 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • תיקנו את התוספת שהועברה לACTION_SYSTEM_FALLBACK_PICK_IMAGES של חוזה הפעילות של הכלי לבחירת תמונות כדי להעביר לה את המפתח EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX בצורה תקינה, במקום להשתמש בתוספות עם המפתח "com.google.android.gms.provider.extra.PICK_IMAGES_MAX". אם אתם יצרני ציוד מקורי (OEM) שמטמיעים כלי לבחירת תמונות לגיבוי, מומלץ מאוד לתמוך בשתי התוספות כדי להבטיח תאימות רחבה. (I96a00)

גרסה 1.8.1

15 בנובמבר 2023

androidx.activity:activity:1.8.1, androidx.activity:activity-compose:1.8.1 ו-androidx.activity:activity-ktx:1.8.1 שוחררו. גרסה 1.8.1 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • עכשיו OnBackPressedDispatcher ממשיך לשלוח אל OnBackPressedCallback הנכון גם אחרי הוספה של OnBackPressedCallback חדש בזמן הטיפול בתנועת החזרה. (Id0ff6)

גרסה 1.8.0

4 באוקטובר 2023

androidx.activity:activity:1.8.0, androidx.activity:activity-compose:1.8.0 ו-androidx.activity:activity-ktx:1.8.0 שוחררו. גרסה 1.8.0 כוללת את ההתחייבויות האלה.

שינויים חשובים מאז 1.7.0

  • חזרה חזויה – האפליקציה OnBackPressedCallback כוללת עכשיו קריאות חוזרות חזויות חוזרות לטיפול בתנועת החזרה, ההתקדמות במהלך התנועה וביטול תנועת החזרה, בנוסף לקריאה הקודמת ב-handleOnBackPressed() לסימון תנועת החזרה החזויה. הגרסה הזו כוללת גם את הקומפוזבילי PredictiveBackHandler לטיפול באירועי חיזוי של תנועת החזרה בכתיבה של הפעילות. הוא מספק זרימה של אובייקטים מסוג BackEventCompat שצריך לאסוף במסגרת ה-lamba של ההשעיה שאתם מספקים:
  PredictiveBackHandler { progress: Flow<BackEventCompat> ->
    // code for gesture back started
    try {
      progress.collect { backEvent ->
      // code for progress
    }
    // code for completion
    } catch (e: CancellationException) {
      // code for cancellation
    }
  }

עכשיו הפרמטר ComponentActivity.onBackPressed() הוצא משימוש והוחלף בממשקי ה-API כדי להחזיר את המצב לקדמותו. מפתחים צריכים עכשיו להשתמש ב-OnBackPressedDispatcher במקום לשנות את השיטה הזו.

  • EdgeToEdge – הוספנו את ComponentActivity.enableEdgeToEdge() כדי להגדיר בקלות את התצוגה מקצה לקצה באופן תואם לאחור.

גרסה 1.8.0-rc01

20 בספטמבר 2023

androidx.activity:activity:1.8.0-rc01, androidx.activity:activity-compose:1.8.0-rc01 ו-androidx.activity:activity-ktx:1.8.0-rc01 שוחררו. גרסה 1.8.0-rc01 מכילה את ההתחייבויות האלה.

גרסה 1.8.0-beta01

6 בספטמבר 2023

androidx.activity:activity:1.8.0-beta01, androidx.activity:activity-compose:1.8.0-beta01 ו-androidx.activity:activity-ktx:1.8.0-beta01 שוחררו. גרסה 1.8.0-beta01 מכילה את התחייבויות אלה.

שיפור במסמכים

  • שיפרתי את התיעוד של BackEventCompat. (aosp/2722254)

גרסה 1.8.0-alpha07

23 באוגוסט 2023

androidx.activity:activity:1.8.0-alpha07, androidx.activity:activity-compose:1.8.0-alpha07 ו-androidx.activity:activity-ktx:1.8.0-alpha07 שוחררו. גרסה 1.8.0-alpha07 מכילה את התחייבויות אלה.

תכונות חדשות

  • ההצעות לכתיבה נוספו פריט קומפוזבילי חדש מסוג PredictiveBackHandler כדי לטפל באירועי חיזוי של תנועות חזרה. הוא מספק Flow של BackEventCompat אובייקטים שצריך לאסוף בליבה (lamba) המושעית שאתם מספקים:

    PredictiveBackHandler { progress: Flow<BackEventCompat> ->
      // code for gesture back started
      try {
        progress.collect { backEvent ->
        // code for progress
      }
      // code for completion
      } catch (e: CancellationException) {
        // code for cancellation
      }
    }
    

    הוא כולל גם אזהרה לגבי זמן הידור באמצעות כלל איתור שגיאות בקוד, כדי לוודא שה-Flow קורא לפונקציה collect(). (Id2773, b/294884345)

  • עכשיו השדה onBackPressedDispatcher ב-ComponentActivity מאותחל באופן מדורג כך שהוא נוצר רק כשצריך. (I0bf8e)

תיקוני באגים

  • התכונה ComponentActivity לא תציג יותר NPE ב-Android 13 כשהיא תקבל קריאה חוזרת של onBackPressed() והפעילות כבר הייתה DESTROYED. (Idb055, b/291869278)
  • הוסרו שימושים ב-API הניסיוני של isAtLeastU() (Ie9117, b/289269026)

גרסה 1.8.0-alpha06

21 ביוני 2023

androidx.activity:activity:1.8.0-alpha06, androidx.activity:activity-compose:1.8.0-alpha06 ו-androidx.activity:activity-ktx:1.8.0-alpha06 שוחררו. גרסה 1.8.0-alpha06 מכילה את התחייבויות אלה.

תכונות חדשות

  • עכשיו, ב-OnBackPressedDispatcher מתבצע ביטול תקין של כל קריאה חוזרת (callback) שיוסרו במהלך תנועת חיזוי חזרה. (I3f90f)

שינויים ב-API

  • כשמעבירים את SystemBarStyle.auto ל-API של enableEdgeToEdge, עכשיו אפשר לבטל את הפרמטר lambda detectDarkMode כדי לספק לוגיקה מותאמת אישית לזיהוי מצב לילה. (aosp/2546393, b/278263793)

גרסה 1.8.0-alpha05

7 ביוני 2023

androidx.activity:activity:1.8.0-alpha05, androidx.activity:activity-compose:1.8.0-alpha05 ו-androidx.activity:activity-ktx:1.8.0-alpha05 שוחררו. הגרסה הזו פותחה בהסתעפות פנימית.

שינויים ב-API

  • בפעילות יש עכשיו מחלקה BackEventCompat שמשמשת כגרסה של BackEvent בתאימות לאחור, שמופרדת מהכיתה BackEvent של המסגרת.
  • שינוי תוכנה זדונית: השיטות handleOnBackStarted ו-handleOnBackProgressed של OnBackPressedCallback מקבלות עכשיו מופע androidx.activity.BackEventCompat במקום מחלקה android.window.BackEvent של framework. עודכנו גם ממשקי ה-API המקבילים מסוג @VisibleForTesting ב-OnBackPressedDispatcher.
  • ה-constructor של OnBackPressedDispatcher משתמש עכשיו במכונה אופציונלית של Consumer<Boolean> שמאפשרת לבעלים של השולח לקבל קריאה חוזרת בכל פעם שמספר הקריאות החוזרות הפעילות משתנה מאפס לאפס או להיפך.

תיקוני באגים

גרסה 1.8.0-alpha04

10 במאי 2023

androidx.activity:activity:1.8.0-alpha04, androidx.activity:activity-compose:1.8.0-alpha04 ו-androidx.activity:activity-ktx:1.8.0-alpha04 שוחררו. הוא שוחרר מהסתעפות פנימית.

תיקוני באגים

גרסה 1.8.0-alpha03

12 באפריל 2023

androidx.activity:activity:1.8.0-alpha03, androidx.activity:activity-compose:1.8.0-alpha03 ו-androidx.activity:activity-ktx:1.8.0-alpha03 שוחררו. הוא שוחרר מהסתעפות פנימית.

תכונות חדשות

  • הוספנו את ComponentActivity.setUpEdgeToEdge() כדי להגדיר בקלות את התצוגה מקצה לקצה באופן שתואם לאחור.

שינויים ב-API

  • עכשיו הפרמטר ComponentActivity.onBackPressed() הוצא משימוש והוחלף בממשקי ה-API כדי להחזיר את המצב לקדמותו. מפתחים צריכים עכשיו להשתמש ב-OnBackPressedDispatcher במקום לשנות את השיטה הזו. (Ibce2f, b/271596918)
  • ComponentDialog ו-ComponentActivity מכילים עכשיו API ציבורי initViewTreeOwners() שמאפשר לאתחל את כל בעלי העץ של התצוגות לפני ההגדרה של תצוגת התוכן. (Ibdce0, b/261314581)

תיקוני באגים

  • תוקנה בעיה שבה Fragments ביטל באופן שגוי את תוקף ListHosts וגורם להתנהגות לא צפויה בתפריטים אחרים בפעילות. (I9404e, b/244336571)

שינויים אחרים

  • בActivityResultRegister נעשה עכשיו שימוש ב-Kotlin Random במקום ב-Java. (I4d98f, b/272096025)

גרסה 1.8.0-alpha02

8 במרץ 2023

androidx.activity:activity:1.8.0-alpha02, androidx.activity:activity-compose:1.8.0-alpha02 ו-androidx.activity:activity-ktx:1.8.0-alpha02 שוחררו. פיתוח הסתעפות פנימית.

עדכון בנושא תלות

גרסה 1.8.0-alpha01

8 בפברואר 2023

androidx.activity:activity:1.8.0-alpha01, androidx.activity:activity-compose:1.8.0-alpha01 ו-androidx.activity:activity-ktx:1.8.0-alpha01 שוחררו. הוא נוצר על ידי הסתעפות פנימית.

תכונות חדשות

  • הכיתה OnBackPressedCallback כוללת עכשיו קריאות חוזרות (callback) חדשות של התקדמות חזויה לחזרה אחורה, לטיפול בתנועת החזרה, ההתקדמות במהלך התנועה וביטול תנועת החזרה, בנוסף לקריאה הקודמת של handleOnBackPressed() למקרים שבהם בוצעה תנועת החזרה.

גרסה 1.7

גרסה 1.7.2

24 במאי 2023

androidx.activity:activity:1.7.2, androidx.activity:activity-compose:1.7.2 ו-androidx.activity:activity-ktx:1.7.2 שוחררו. גרסה 1.7.2 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • תיקון קריסות של ReportDrawn כשיוצאים מהמסך לפני הקריאה של report. (Ic46f1, b/260506820)

גרסה 1.7.1

19 באפריל 2023

androidx.activity:activity:1.7.1, androidx.activity:activity-compose:1.7.1 ו-androidx.activity:activity-ktx:1.7.1 שוחררו. גרסה 1.7.1 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • אין יותר דליפה של ReportFullyDrawExecuter כשמשתמשים ב-ComponentActivity עם ActivityScenario. (Id2ff2, b/277434271)

גרסה 1.7.0

22 במרץ 2023

androidx.activity:activity:1.7.0, androidx.activity:activity-compose:1.7.0 ו-androidx.activity:activity-ktx:1.7.0 שוחררו. גרסה 1.7.0 כוללת את ההתחייבויות האלה.

שינויים חשובים מאז 1.6.0

  • החוזים של הכלי לבחירת תמונות ב-PickVisualMedia וב-PickMultipleVisualMedia עודכנו ועכשיו הם כוללים אפשרות נוספת למקרים שבהם MediaStore.ACTION_PICK_IMAGES לא זמין, כך שיצרני ציוד מקורי (OEM) ואפליקציות מערכת (כמו Google Play Services) יוכלו לספק חוויה עקבית של הכלי לבחירת תמונות במגוון רחב יותר של מכשירי Android ורמות API. לשם כך, צריך להטמיע את פעולת הגיבוי. הכלי לבחירת תמונות ישתמש בחלופה הזו אם היא תהיה זמינה לפני חזרה לשימוש ב-Intent.ACTION_OPEN_DOCUMENT, שעדיין תומך בכל המכשירים עם API 19 ואילך.
  • ComponentDialog מטמיע את SavedStateRegistryOwner ויש לו גישה ל-SavedStateRegistry משלו ומגדיר את SavedStateRegistryOwner ל-ViewTree שלו. עכשיו אפשר להשתמש ב-Jetpack פיתוח נייטיב בתוך ComponentDialog כי הוא עומד גם ב-LifecycleOwner וגם ב-SavedStateRegistryOwner שמצורפים לחלון דרך דרישות ה-API של ViewTree.
  • עכשיו אפשר להגדיר ב-IntentSenderRequest.Builder.setFlags() כמה סימונים מ-Intent, במקום רק דגל אחד.

המרת קוטלין

מספר כיתות לימוד הומרו ל-Kotlin. כל המחלקות שעברו המרה עדיין שומרות על תאימות בינארית לגרסאות קודמות. במחלקות הבאות יש שינויים לא תואמים למקור לכיתות שנכתבו ב-Kotlin: ActivityResultRegistryOwner, OnBackPressedDispatcherOwner.

בטבלה הבאה מוצגות המרות המקור מהגרסה החדשה של הפעילות:

פעילות 1.5 פעילות 1.6
override fun getActivityResultRegistry() = activityResultRegistry override val activityResultRegistry = activityResultRegistry
override fun getOnBackPressedDispatcher() = onBackPressedDispatcher override val onBackPressedDispatcher = onBackPressedDispatcher

גם הכיתות האלה הומרו ל-Kotlin, אבל ימשיכו להיות תואמות למקור: ContextAware, ContextAwareHelper, OnContextAvailableListener, IntentSenderRequest ו-OnBackPressedDispatcher

ממשקי API של FullyDrawnReporter

עכשיו יש ב-ComponentActivity מופע של FullyDrawnReporter שמאפשר למספר רכיבים לדווח כשהם מוכנים לאינטראקציה. ComponentActivity ימתין להשלמת כל הרכיבים לפני קריאה ל-reportFullyDrawn() בשמך. ממשקי ה-API האלה מטפלים בדרישות התזמון עבורך, ואין צורך להפעיל אותם כחלק משליחת קריאה ל-onDraw.

מומלץ להפעיל את ממשקי ה-API האלה:

  • איתות על זמן הריצה של Android בסיום ההפעלה, כדי להבטיח שכל הקוד שרץ במהלך רצף הפעלה מרובה פריימים נכלל ומקבל עדיפות להידור ברקע.
  • איתות עבור מאקרובנצ'מרק ו-Play Vitals, כשצריך לבחון את האפליקציה באופן מלא למדדי ההפעלה, כך שתוכלו לעקוב אחר הביצועים.

נוספו שלושה ממשקי API של Activity Compose כדי שיהיה נוח יותר להשתמש ב-FullyDrawnReporter בתכנים קומפוזביליים נפרדים:

  • ReportDrawn מציין שהתוכן הקומפוזבילי מוכן לאינטראקציה.
  • ReportDrawnWhen לוקח פרדיקט (כלומר, list.count > 0) כדי לציין מתי התוכן הקומפוזבילי מוכן לאינטראקציה.
  • ReportDrawnAfter משתמשת בשיטת השעיה. בסיום התהליך, סימן שאתם מוכנים לאינטראקציה.

עדכונים בנושא תלות

גרסה 1.7.0-rc01

8 במרץ 2023

androidx.activity:activity:1.7.0-rc01, androidx.activity:activity-compose:1.7.0-rc01 ו-androidx.activity:activity-ktx:1.7.0-rc01 שוחררו. גרסה 1.7.0-rc01 מכילה את ההתחייבויות האלה.

עדכון בנושא תלות

גרסה 1.7.0-beta02

22 בפברואר 2023

androidx.activity:activity:1.7.0-beta02, androidx.activity:activity-compose:1.7.0-beta02 ו-androidx.activity:activity-ktx:1.7.0-beta02 שוחררו. גרסה 1.7.0-beta02 מכילה את התחייבויות אלה.

שינויים ב-API

  • הפעולה והפיצ'רים הנוספים שמשמשים את החוזים PickVisualMedia ו-PickMultipleVisualMedia כחלופה למצבים שבהם MediaStore.ACTION_PICK_IMAGES לא זמין הם קבועים ציבוריים שמספקים עכשיו יציבות API ליצרני ציוד מקורי ולאפליקציות מערכת שרוצים לספק חוויה עקבית של הכלי לבחירת תמונות. היישום של החלופה הזו עדיין מוגבל רק לאפליקציות מערכת. (Icd320)

גרסה 1.7.0-beta01

8 בפברואר 2023

androidx.activity:activity:1.7.0-beta01, androidx.activity:activity-compose:1.7.0-beta01 ו-androidx.activity:activity-ktx:1.7.0-beta01 שוחררו. גרסה 1.7.0-beta01 מכילה את התחייבויות אלה.

תכונות חדשות

  • עכשיו אפשר להגדיר ב-IntentSenderRequest.Builder.setFlags() כמה סימונים מ-Intent, במקום רק דגל אחד. (Iac04c)

תיקוני באגים

  • החלופה ל-PickVisualMedia כשבוחר התמונות לא זמין, מגבילה עכשיו את הטיפול לאפליקציות שמותקנות בתמונת המערכת של המכשיר. (If8ae6)

המרות של קוטלין

  • ActivityResultRegistryOwner כתוב עכשיו ב-Kotlin. זהו שינוי לא תואם למקור עבור הכיתות שנכתבו ב-Kotlin. עכשיו יש לעקוף את המאפיין activityResultRegistry במקום להטמיע את הפונקציה getActivityResultRegistry() הקודמת. (I0b00e)
  • OnBackPressedDispatcherOwner כתוב עכשיו ב-Kotlin. זהו שינוי לא תואם למקור עבור הכיתות שנכתבו ב-Kotlin. עכשיו יש לעקוף את המאפיין onBackPressedDispatcher במקום להטמיע את הפונקציה getOnBackPressedDispatcher הקודמת. (Ia277d)
  • ContextAware, ContextAwareHelper, OnContextAvailableListener, IntentSenderRequest ו-OnBackPressedDispatcher נכתבים עכשיו ב-Kotlin. (I1a73e, Iada92, aosp/2410754, I18ac7, b/257291701)

גרסה 1.7.0-alpha04

25 בינואר 2023

androidx.activity:activity:1.7.0-alpha04, androidx.activity:activity-compose:1.7.0-alpha04 ו-androidx.activity:activity-ktx:1.7.0-alpha04 שוחררו. גרסה 1.7.0-alpha04 מכילה את התחייבויות אלה.

תכונות חדשות

  • החוזים של תוצאות הפעילות ב-PickVisualMedia וב-PickMultipleVisualMedia יתבססו עכשיו על בורר התמונות שמסופק על ידי Google Play, במקרים שבהם מערכת Android סיפקה את בורר התמונות (למשל, MediaStore.ACTION_PICK_IMAGES) לא זמין. הוצאנו משימוש את ה-API של isPhotoPickerAvailable() שמזהה רק את הכלי לבחירת תמונות שסופק על ידי מערכת Android. מומלץ להשתמש ב-API החדש של isPhotoPickerAvailable(Context), שיוחזר אם הכלי לבחירת תמונות זמין. (I55be6)

גרסה 1.7.0-alpha03

11 בינואר 2023

androidx.activity:activity:1.7.0-alpha03, androidx.activity:activity-compose:1.7.0-alpha03 ו-androidx.activity:activity-ktx:1.7.0-alpha03 שוחררו. גרסה 1.7.0-alpha03 מכילה את התחייבויות אלה.

תכונות חדשות

  • ComponentDialog מטמיע את SavedStateRegistryOwner ויש לו גישה ל-SavedStateRegistry משלו ומגדיר את SavedStateRegistryOwner ל-ViewTree שלו. עכשיו אפשר להשתמש ב-Jetpack פיתוח נייטיב בתוך ComponentDialog כי הוא עומד גם ב-LifecycleOwner וגם ב-SavedStateRegistryOwner שמצורפים לחלון דרך דרישות ממשקי ה-API של ViewTree. (Idca17, I73468 b/261162296)

שינויים ב-API

  • נוסף תוכן קומפוזבילי מסוג ReportDrawn שמסמן מיד שהפעילות מוכנה לקריאה אל reportFullyDrawn. (Ic5b14, b/259687964)

המרות של קוטלין

  • המחלקות ActvitiyResultCallback ו-OnBackPressedCallback הומרו ל-Kotlin תוך שמירה על תאימות של מקור ובינארי. (Ifc5e5, Ide1b0, b/257291701)

גרסה 1.7.0-alpha02

24 באוקטובר 2022

androidx.activity:activity:1.7.0-alpha02, androidx.activity:activity-compose:1.7.0-alpha02 ו-androidx.activity:activity-ktx:1.7.0-alpha02 שוחררו. גרסה 1.7.0-alpha02 מכילה את התחייבויות אלה.

תיקוני באגים

  • מפעילות 1.6.1: תוקנה בעיה בחוזה של תוצאת הפעילות של PickMultipleVisualMedia שלא הופעל במכשירי Android R כשמשתמשים בערך ברירת המחדל של maxItems. (Ie2776, b/249182130)

גרסה 1.7.0-alpha01

5 באוקטובר 2022

androidx.activity:activity:1.7.0-alpha01, androidx.activity:activity-compose:1.7.0-alpha01 ו-androidx.activity:activity-ktx:1.7.0-alpha01 שוחררו. גרסה 1.7.0-alpha01 מכילה את התחייבויות אלה.

ממשקי API של FullyDrawnReporter

עכשיו יש ב-ComponentActivity מופע של FullyDrawnReporter שמאפשר למספר רכיבים לדווח כשהם מוכנים לאינטראקציה. ComponentActivity ימתין להשלמת כל הרכיבים לפני קריאה ל-reportFullyDrawn() בשמך. ממשקי ה-API האלה מטפלים בדרישות התזמון עבורך, ואין צורך להפעיל אותם כחלק משליחת קריאה ל-onDraw.

מומלץ להפעיל את ממשקי ה-API האלה:

  • איתות על זמן הריצה של Android בסיום ההפעלה, כדי להבטיח שכל הקוד שרץ במהלך רצף הפעלה מרובה פריימים נכלל ומקבל עדיפות להידור ברקע.
  • איתות עבור מאקרובנצ'מרק ו-Play Vitals, כשצריך לבחון את האפליקציה באופן מלא למדדי ההפעלה, כך שתוכלו לעקוב אחר הביצועים.

נוספו שני ממשקי API של Activity Compose כדי שיהיה נוח יותר להשתמש ב-FullyDrawnReporter בתכנים קומפוזביליים נפרדים:

  • ReportDrawnWhen לוקח פרדיקט (כלומר, list.count > 0) כדי לציין מתי התוכן הקומפוזבילי מוכן לאינטראקציה.
  • ReportDrawnAfter משתמשת בשיטת השעיה. בסיום התהליך, סימן שאתם מוכנים לאינטראקציה.

גרסה 1.6.1

גרסה 1.6.1

24 באוקטובר 2022

androidx.activity:activity:1.6.1, androidx.activity:activity-compose:1.6.1 ו-androidx.activity:activity-ktx:1.6.1 שוחררו. גרסה 1.6.1 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • תוקנה בעיה בחוזה של תוצאת הפעילות של PickMultipleVisualMedia שלא הופעל במכשירי Android R כשנעשה שימוש בערך ברירת המחדל של maxItems. (Ie2776, b/249182130)

גרסה 1.6.0

גרסה 1.6.0

21 בספטמבר 2022

androidx.activity:activity:1.6.0, androidx.activity:activity-compose:1.6.0 ו-androidx.activity:activity-ktx:1.6.0 שוחררו. גרסה 1.6.0 כוללת את ההתחייבויות האלה.

שינויים חשובים מאז 1.5.0

  • הוספנו את ActivityResultContracts.PickVisualMedia ואת ActivityResultContracts.PickMultipleVisualMedia בגלל אספקת חוזה עם תאימות לאחור לפי MediaStore.ACTION_PICK_IMAGES כשהכלי לבחירת תמונות זמין, ו-Intent.ACTION_OPEN_DOCUMENT אם הוא לא זמין.
  • הטמעת את OnBackInvokedCallback ב-Android 13 ב-OnBackPressedDispatchers של ComponentActivity ו-ComponentDialog. כך ניתן להבטיח שכל ממשקי ה-API שמבוססים על OnBackPressedDispatcher יפעלו כשמפעילים תנועת חיזוי חזרה.

גרסה 1.6.0-rc02

7 בספטמבר 2022

androidx.activity:activity:1.6.0-rc02, androidx.activity:activity-compose:1.6.0-rc02 ו-androidx.activity:activity-ktx:1.6.0-rc02 שוחררו. גרסה 1.6.0-rc02 מכילה את שמירות האלה.

תיקוני באגים

  • OnBackPressedDispatcher רושם עכשיו את OnBackInvokedCallback עם PRIORITY_DEFAULT במקום PRIORITY_OVERLAY. (I3901f)
  • בכיתות הנמשכות יותר מ-ComponentActivity, תמיד תתבצע שליחה של שתי הקריאות החוזרות (callback) של onMultiWindowModeChanged(). (Ic4d85)
  • הפונקציה ActivityResultRegistry לא תחזיר יותר תוצאה אל ActivityResultCallback כשהקריאה אל launch גורמת לתוצאה כלשהי Exception והקריאה החוזרת בוצעה ללא LifecycleOwner. (Ia7ff7, b/238350794)
  • מעכשיו, ComponentActivity שולח באופן תקין קריאות לתפריט ללא צורך להפעיל את פונקציית ה-Super בפעילות שלך. (Ie33c5, b/238057118)

עדכון לגבי תלות

גרסה 1.6.0-rc01

24 באוגוסט 2022

androidx.activity:activity:1.6.0-rc01, androidx.activity:activity-compose:1.6.0-rc01 ו-androidx.activity:activity-ktx:1.6.0-rc01 שוחררו. גרסה 1.6.0-rc01 מכילה את שמירות האלה.

תיקוני באגים

  • אתחול של OnBackPressedDispatcher כבר לא יגרום לשימוש במעבדי ClassVerificationError כשמשתמשים בגרסאות SDK שקודמות ל-33. (Ic32e1)
  • בכיתות שיעקפו את הקריאה החוזרת של ComponentActivity onPictureInPictureModeChanged() תמיד יישלחו קריאות חוזרות (callback) שלהם. (Ib7fdb)

גרסה 1.6.0-beta01

10 באוגוסט 2022

androidx.activity:activity:1.6.0-beta01, androidx.activity:activity-compose:1.6.0-beta01 ו-androidx.activity:activity-ktx:1.6.0-beta01 שוחררו. גרסה 1.6.0-beta01 מכילה את התחייבויות אלה.

שינויים ב-API

  • השיטות startActivityForResult ו-startIntentSenderForResult שהוצאו משימוש ב-ComponentActivity עם @NonNull סומנו כי העברה של null תמיד גרמה לקריסה. (Id2a25, b/231476082)

תיקוני באגים

  • מפעילות 1.5.1: ActivityResultRegistry לא יחזיר תוצאה ל-ActivityResultCallback כשהקריאה ל-launch תגרור תוצאה כלשהי Exception והקריאה החוזרת בוצעה ללא LifecycleOwner. (Ia7ff7, b/238350794)
  • מפעילות 1.5.1: ComponentActivity ישלח עכשיו קריאות לתפריט באופן תקין אל onPrepareOptionMenu(), onCreateOptionsMenu() ו-onOptionsItemSelected() ללא צורך בקריאה לפונקציית-על. (Ie33c5, b/238057118)

עדכון לגבי תלות

גרסה 1.6.0-alpha05

15 ביוני 2022

androidx.activity:activity:1.6.0-alpha05, androidx.activity:activity-compose:1.6.0-alpha05 ו-androidx.activity:activity-ktx:1.6.0-alpha05 שוחררו. גרסה 1.6.0-alpha05 פותחה בהסתעפות פרטית בטרום-השקה, ללא התחייבות ציבורית.

שינויים ב-API

  • הערך של minCompileSdk הוא עכשיו 33 כדי להתאים ל-SDK של Tiramisu Beta 3

תיקוני באגים

  • תוקנה קריסה במכשירים ישנים יותר בזמן בדיקת תוסף SDK עבור ActivityResultContract PickVisualMedia, כדי שהוא אמור לפעול עכשיו עם ACTION_OPEN_DOCUMENT במכשירים עם Android מגרסה 10 ומטה.

גרסה 1.6.0-alpha04

18 במאי 2022

androidx.activity:activity:1.6.0-alpha04 ו-androidx.activity:activity-ktx:1.6.0-alpha04 שוחררו.

תיקוני באגים

  • תוקנה שגיאה ב-PickVisualMediaRequest שבה ניסיון ליצור בקשה, באמצעות ה-builder או באמצעות פונקציית Kotlin ברמה העליונה, תוביל להצגת גלישת קריסות.
  • שילבנו את OnBackInvokedCallback ב-Android 13 Dev Beta 2 ב-OnBackPressedDispatcher של ComponentDialog. כך כל ממשקי ה-API שמבוססים על OnBackPressedDispatcher יפעלו כשמפעילים תנועת חזרה חזויה.

גרסה 1.6.0-alpha03

27 באפריל 2022

androidx.activity:activity:1.6.0-alpha03, androidx.activity:activity-compose:1.6.0-alpha03 ו-androidx.activity:activity-ktx:1.6.0-alpha03 שוחררו.

  • הערה: הגרסה הזו תעבור הידור רק אחרי SDK של Android 13 Developer Beta 1.

תכונות חדשות

  • הוספנו את ActivityResultContracts.PickVisualMedia ואת ActivityResultContracts.PickMultipleVisualMedia בגלל אספקת חוזה עם תאימות לאחור לפי MediaStore.ACTION_PICK_IMAGES כשהכלי לבחירת תמונות זמין, ו-Intent.ACTION_OPEN_DOCUMENT אם הוא לא זמין.
  • הטמע את OnBackInvokedCallback ב-Android 13 Dev Beta 1 ב-OnBackPressedDispatcher של ComponentActivity. כך כל ממשקי ה-API שמבוססים על OnBackPressedDispatcher יפעלו כשמפעילים תנועת חזרה חזויה.

גרסה 1.6.0-alpha01

23 במרץ, 2022

androidx.activity:activity:1.6.0-alpha01, androidx.activity:activity-compose:1.6.0-alpha01 ו-androidx.activity:activity-ktx:1.6.0-alpha01 שוחררו.

  • הערה: הגרסה הזו תעבור הידור רק אחרי SDK של Android 13 Developer Preview 2.

תכונות חדשות

  • שינויים משולבים ב-ComponentActivity בגרסת טרום-השקה (Preview) 2 של Android 13.

גירסה 1.5.1

גירסה 1.5.1

27 ביולי 2022

androidx.activity:activity:1.5.1, androidx.activity:activity-compose:1.5.1 ו-androidx.activity:activity-ktx:1.5.1 שוחררו. גרסה 1.5.1 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • הפונקציה ActivityResultRegistry לא תחזיר יותר תוצאה אל ActivityResultCallback כשהקריאה launch() מפעילה Exception והקריאה החוזרת בוצעה ללא LifecycleOwner. (Ia7ff7, b/238350794)

  • ComponentActivity ישלח עכשיו קריאות לתפריט ל-onPrepareOptionMenu(), ל-onCreateOptionsMenu() ול-onOptionsItemSelected() באופן תקין בלי צורך לקרוא לפונקציית העל. (Ie33c5, b/238057118)

עדכון בנושא תלות

גרסה 1.5.0

גרסה 1.5.0

29 ביוני 2022

androidx.activity:activity:1.5.0, androidx.activity:activity-compose:1.5.0 ו-androidx.activity:activity-ktx:1.5.0 שוחררו. גרסה 1.5.0 כוללת את ההתחייבויות האלה.

שינויים חשובים מאז 1.4.0

  • ElementDialogComponentDialog הוא מחלקה של Dialog שכוללת את OnBackPressedDispatcher, תתבצע קריאה כאשר לחיצה על לחצן 'הקודם' של המערכת ותיבת הדו-שיח מוצגת. חשוב לציין שגם תת-המחלקה הזו מגדירה את ViewTreeOnBackPressedDispatcherOwner, וכך מאפשרת בתצוגות דרך גנרית לאחזר את השולח הנכון, בין אם הוא קיים ב-ComponentActivity או ב-ComponentDialog.
  • ממשקי קריאה חוזרת – ב-ComponentActivity יש עכשיו קבוצה של ממשקי קריאה חוזרת מודולריים שאפשר להשתמש בהם במקום הקריאות החוזרות (callback) של Activity. הממשקים האלה כוללים את: OnNewIntentProvider, OnConfigurationChangedProvider, OnTrimMemoryProvider, OnPictureInPictureModeChangedProvider, OnMultiWindowModeChangedProvider
  • שילוב של CreationExtrasComponentActivity יכול עכשיו לספק ViewModelProvider.Factory ללא שמירת מצב דרך CreationExtras של מחזור חיים 2.5.0.

שינויים אחרים

  • ה-constructor של אפס פרמטרים של ActivityResultContracts.CreateDocument הוצא משימוש והוחלף ב-constructor חדש שמקבל סוג mime קונקרטי (למשל, "image/png") כפי שנדרש על ידי Intent.ACTION_CREATE_DOCUMENT.

גרסה 1.5.0-rc01

11 במאי 2022

androidx.activity:activity:1.5.0-rc01, androidx.activity:activity-compose:1.5.0-rc01 ו-androidx.activity:activity-ktx:1.5.0-rc01 שוחררו ללא שינויים מ-1.5.0-beta01. גרסה 1.5.0-rc01 מכילה את ההתחייבויות האלה.

גרסה 1.5.0-beta01

20 באפריל 2022

androidx.activity:activity:1.5.0-beta01, androidx.activity:activity-compose:1.5.0-beta01 ו-androidx.activity:activity-ktx:1.5.0-beta01 שוחררו. גרסה 1.5.0-beta01 מכילה את התחייבויות אלה.

עדכונים בנושא תלות

גרסה 1.5.0-alpha05

6 באפריל 2022

androidx.activity:activity:1.5.0-alpha05, androidx.activity:activity-compose:1.5.0-alpha05 ו-androidx.activity:activity-ktx:1.5.0-alpha05 שוחררו. גרסה 1.5.0-alpha05 מכילה את התחייבויות אלה.

תיקוני באגים

  • הפקודה onPanelClosed() של ComponentActivity מפעילה עכשיו גם את הסופר onPanelClosed(), ופותרת בעיה שגרמה לכך שלא ניתן לקרוא לשיטה onContextMenuClosed. (Ib6f77)

גרסה 1.5.0-alpha04

23 במרץ, 2022

androidx.activity:activity:1.5.0-alpha04, androidx.activity:activity-compose:1.5.0-alpha04 ו-androidx.activity:activity-ktx:1.5.0-alpha04 שוחררו. גרסה 1.5.0-alpha04 מכילה את התחייבויות אלה.

תיקוני באגים

  • SavedStateViewFactory תומך עכשיו בשימוש ב-CreationExtras גם כאשר הוא אותחל עם SavedStateRegistryOwner. אם תספקו תוספות, המערכת תתעלם מהארגומנטים המאתחלים. (I6c43b, b/224844583)

גרסה 1.5.0-alpha03

23 בפברואר 2022

androidx.activity:activity:1.5.0-alpha03, androidx.activity:activity-compose:1.5.0-alpha03 ו-androidx.activity:activity-ktx:1.5.0-alpha03 שוחררו. גרסה 1.5.0-alpha03 מכילה את התחייבויות אלה.

שינויים ב-API

  • עכשיו אפשר להעביר את CreationExtras לפונקציית by viewModels() של הפעילות (I6a3e6, b/217600303)

גרסה 1.5.0-alpha02

9 בפברואר 2022

androidx.activity:activity:1.5.0-alpha02, androidx.activity:activity-compose:1.5.0-alpha02 ו-androidx.activity:activity-ktx:1.5.0-alpha02 שוחררו. גרסה 1.5.0-alpha02 מכילה את התחייבויות אלה.

תכונות חדשות

  • ComponentActivity מטמיע עכשיו את הממשק OnPictureInPictureModeChangedProvider כדי לאפשר כדי לקבל אירועי שינוי במצב 'תמונה בתוך תמונה'. (I9f567)
  • ComponentActivity מטמיע עכשיו את הממשק OnMultiWindowModeChangedProvider כדי לאפשר כדי לקבל אירועי שינוי במצב ריבוי חלונות. (I62d91)

גרסה 1.5.0-alpha01

26 בינואר, 2022

androidx.activity:activity:1.5.0-alpha01, androidx.activity:activity-compose:1.5.0-alpha01 ו-androidx.activity:activity-ktx:1.5.0-alpha01 שוחררו. גרסה 1.5.0-alpha01 מכילה את התחייבויות אלה.

תכונות חדשות

  • ComponentActivity משתלב עכשיו עם ViewModel CreationExtras, שנוצר כחלק מ-Lifecycle 2.5.0-alpha01. (Ie7e00, b/207012584)
  • נוספה קבוצת המשנה ComponentDialog, תת-מחלקה של Dialog שכולל OnBackPressedDispatcher שתיקרא כשלחצן 'הקודם' של המערכת נלחץ כשמוצגת תיבת הדו-שיח. חשוב לציין מחלקה משנית הזו גם מגדירה ViewTreeOnBackPressedDispatcherOwner, הפעלת תצוגות מפורטות דרך כללית לאחזר את השולח הנכון בין אם הוא קיים בComponentActivity או ComponentDialog. I8a1bc
  • הגרסה החדשה מיושמת עכשיו על ידי ComponentActivity הממשק OnNewIntentProvider כדי לאפשר רכיב כלשהו כדי לקבל את האירועים האלה. (If1f8b)
  • הגרסה החדשה מיושמת עכשיו על ידי ComponentActivity הממשק OnConfigurationChangedProvider כדי לאפשר רכיב כלשהו כדי לקבל את האירועים האלה. (If623b)
  • הגרסה החדשה מיושמת עכשיו על ידי ComponentActivity הממשק OnTrimMemoryProvider מאפשר כניסה לכל רכיב כדי לקבל את האירועים האלה. (Ia9295)

שינויים ב-API

  • ה-constructor של no פרמטרים עבור במסגרת ActivityResultContracts.CreateDocument הוצא משימוש והוחלף ב-constructor חדש שלוקח סוג MIME קונקרטי (למשל, "image/png"), כפי שנדרש על ידי Intent.ACTION_CREATE_DOCUMENT. (I2bec6)
  • OnBackPressedDispatcherOwner המשויכים לתצוגה מפורטת, יכולים עכשיו להיות מאוחזרים דרך ViewTreeOnBackPressedDispatcherOwner, במקום זאת מאשר להסתמך על הפעלת ה-Context. (I74685)

תיקוני באגים

  • תוקנה קריסה במהלך גישה אל ViewModel בפעם הראשונה התקשרות חזרה של registerForActivityResult() או קריאות חוזרות (callback) אל LifecycleObserver שנוספו כחלק מ- init מתוך ComponentActivity. (Ife83f)

גרסה 1.4.0

גרסה 1.4.0

27 באוקטובר 2021

androidx.activity:activity:1.4.0, androidx.activity:activity-compose:1.4.0 ו-androidx.activity:activity-ktx:1.4.0 שוחררו. גרסה 1.4.0 כוללת את ההתחייבויות האלה.

שינויים חשובים מאז 1.3.0

  • AndroidX ComponentActivity מטמיע עכשיו את הממשק MenuHost. כך כל רכיב יכול להוסיף אפשרויות בתפריט אל ActionBar על ידי הוספת מופע של MenuProvider לפעילות. אפשר גם להוסיף כל MenuProvider עם Lifecycle שיקבע אוטומטית את הרשאות הגישה של הפריטים האלו בתפריט בהתאם למצב Lifecycle ויטפל בהסרה של MenuProvider כשה-Lifecycle יושמד.
  • הכיתה ActivityResultContract נכתבה מחדש ב-Kotlin כדי להבטיח שמפתחים שכותבים חוזים מותאמים אישית ב-Kotlin יוכלו להגדיר את ערך ה-null הנכון עבור מחלקות הקלט והפלט שלהם.
  • הכיתה ActivityResultContracts והחוזים שלה נכתבו מחדש ב-Kotlin כדי להבטיח ערך null תקין.

גרסה 1.4.0-rc01

13 באוקטובר 2021

androidx.activity:activity:1.4.0-rc01, androidx.activity:activity-compose:1.4.0-rc01 ו-androidx.activity:activity-ktx:1.4.0-rc01 שוחררו. גרסה 1.4.0-rc01 מכילה את ההתחייבויות האלה.

תיקוני באגים

  • הפונקציה ActivityResultRegistry לא תחזיר יותר תוצאה אל ActivityResultCallback כשהקריאה launch מפעילה Exception (If4f91, b/200845664)

גרסה 1.4.0-beta01

29 בספטמבר 2021

androidx.activity:activity:1.4.0-beta01, androidx.activity:activity-compose:1.4.0-beta01 ו-androidx.activity:activity-ktx:1.4.0-beta01 שוחררו. גרסה 1.4.0-beta01 מכילה את התחייבויות אלה.

שינויים ב-API

  • תוקן הסוג של ActivityResultContracts.OpenMultipleDocuments וגם ActivityResultContracts.GetMultipleContents ש תגרום לשימוש בסוג פלט List<? extends Uri> כשנעשה שימוש בקוד מתוך בשפת התכנות Java. (If71de)
  • עכשיו ניתן לגשת לקבועים ציבוריים במחלקות ActivityResultContracts.StartActivityForResult, ActivityResultContracts.StartIntentSenderForResult ו-ActivityResultContracts.RequestMultiplePermissions כשמשתמשים ב-Kotlin דרך האובייקטים Companion ציבוריים. (aosp/1832555)

עדכונים במסמכים

  • הודעת ההוצאה משימוש של ממשקי API שטופלו עכשיו על ידי Activity result APIs (startActivityForResult, startIntentSenderForResult, onActivityResult, requestPermissions ו-onRequestPermissionsResult), הורחבה עם פרטים נוספים. (cce80f)

גרסה 1.4.0-alpha02

15 בספטמבר 2021

androidx.activity:activity:1.4.0-alpha02, androidx.activity:activity-compose:1.4.0-alpha02 ו-androidx.activity:activity-ktx:1.4.0-alpha02 שוחררו. גרסה 1.4.0-alpha02 מכילה את התחייבויות אלה.

תכונות חדשות

  • פריט המידע שנוצר בתהליך הפיתוח (Artifact) של activity-compose מכיל עכשיו שגיאת איתור שגיאות בקוד מסוג LaunchDuringComposition שמונעת ממך להפעיל את השיטה launch של ActivityResultLauncher כחלק מהיצירה, כי הרכבה צריך להיות נטול השפעות לוואי. השתמשו בממשקי API לטיפול בתופעות לוואי. (7c2bbe, b/191347220)

שינויים ב-API

  • בכיתה ActivityResultContract יש נכתבו מחדש ב-Kotlin כדי להבטיח שמפתחים כתיבת חוזים מותאמים אישית ב-Kotlin היכולת לתקן את ערך הקלט והפלט הסוגים. (I8a8f5)
  • הכיתה ActivityResultContracts החוזים נכתבו מחדש ב-Kotlin כדי להבטיח יכולת אפסית תקינה. (I69802)

גרסה 1.4.0-alpha01

1 בספטמבר 2021

androidx.activity:activity:1.4.0-alpha01, androidx.activity:activity-compose:1.4.0-alpha01 ו-androidx.activity:activity-ktx:1.4.0-alpha01 שוחררו. גרסה 1.4.0-alpha01 מכילה את התחייבויות אלה.

תכונות חדשות

  • AndroidX ComponentActivity מטמיע עכשיו את הממשק MenuHost. כך כל רכיב יכול להוסיף אפשרויות בתפריט אל ActionBar על ידי הוספת מופע של MenuProvider לפעילות. אפשר גם להוסיף כל MenuProvider עם Lifecycle שיקבע אוטומטית את הרשאות הגישה של הפריטים האלו בתפריט בהתאם למצב Lifecycle ויטפל בהסרה של MenuProvider כשה-Lifecycle יושמד. (I3b608):
/**
  * Using the addMenuProvider() API directly in your Activity
  **/
class ExampleActivity : ComponentActivity(R.layout.activity_example) {

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    // Add menu items without overriding methods in the Activity
   addMenuProvider(object : MenuProvider {
      override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
        // Add menu items here
        menuInflater.inflate(R.menu.example_menu, menu)
      }

      override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
        // Handle the menu selection
        return true
      }
    })
  }
}

/**
  * Using the addMenuProvider() API in a Fragment
  **/
class ExampleFragment : Fragment(R.layout.fragment_example) {

  override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    // The usage of an interface lets you inject your own implementation
    val menuHost: MenuHost = requireActivity()
  
    // Add menu items without using the Fragment Menu APIs
    // Note how we can tie the MenuProvider to the viewLifecycleOwner
    // and an optional Lifecycle.State (here, RESUMED) to indicate when
    // the menu should be visible
    menuHost.addMenuProvider(object : MenuProvider {
      override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
        // Add menu items here
        menuInflater.inflate(R.menu.example_menu, menu)
      }

      override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
        // Handle the menu selection
        return true
      }
    }, viewLifecycleOwner, Lifecycle.State.RESUMED)
  }

שינויים בהתנהגות

  • המשחק ActivityResultRegistry יקפיץ עכשיו IllegalStateException בעת ניסיון להתקשר אל launch() במכשיר הדומיין ActivityResultLauncher שלא רשום או שלא נרשם הרישום בוטל. (Ida75d, b/192567522)

תרומה חיצונית

  • תודה dmitrilc על תיקון שגיאת הקלדה במסמכים של ActivityResult. (#221)

גרסה 1.3.1

גרסה 1.3.1

4 באוגוסט 2021

androidx.activity:activity:1.3.1, androidx.activity:activity-compose:1.3.1 ו-androidx.activity:activity-ktx:1.3.1 שוחררו. גרסה 1.3.1 כוללת את ההתחייבויות האלה.

עדכונים בנושא תלות

  • הפעילות תלויה עכשיו ב-Kotlin 1.5.21.
  • ההצעות לכתיבה תלויות עכשיו ב'כתיבה' 1.0.1.

גרסה 1.3.0

גרסה 1.3.0

28 ביולי 2021

androidx.activity:activity:1.3.0, androidx.activity:activity-compose:1.3.0 ו-androidx.activity:activity-ktx:1.3.0 שוחררו. גרסה 1.3.0 כוללת את ההתחייבויות האלה.

שינויים חשובים מאז 1.2.0

  • ארטיפקט של Activity Compose – פריט המידע שנוצר בתהליך הפיתוח (Artifact) מסוג activity-compose מספק את שיטת התוסף setContent לאירוח ממשק המשתמש של Jetpack Compose בפעילות, ול-Compose wrappers ספציפיים לאינטראקציה עם ממשקי ה-API של ComponentActivity לטיפול בלחצן 'הקודם' של המערכת ובממשקי ה-API של 'תוצאות פעילות'. פרטים נוספים זמינים במסמכי התיעוד.
  • חוזה מסוג CaptureVideoCaptureVideo ActivityResultContract מחליף את החוזה של TakeVideo שיצא משימוש, ומחזיר ערך בוליאני לציון הצלחה שפועל באפליקציות מצלמה רבות.
  • מעקב אחר רמזים בתמונה בתוך תמונה – המשתמשים של activity-ktx יכולים עכשיו להשתמש בשיטת התוסף trackPipAnimationHintView ב-Activity כדי לבנות מחדש באופן אוטומטי את PictureInPictureParams עם המיקום החדש של התצוגה, כי היא משתנה ביחס לחלון.

גרסה 1.3.0-rc02

14 ביולי 2021

androidx.activity:activity:1.3.0-rc02, androidx.activity:activity-compose:1.3.0-rc02 ו-androidx.activity:activity-ktx:1.3.0-rc02 שוחררו. גרסה 1.3.0-rc02 מכילה את ההתחייבויות האלה.

תיקוני באגים

  • הקריאות החוזרות של ActivityResultRegistry שמורות עכשיו כמו שצריך ושוחזרו, כדי שהקריאות החוזרות לא ישוכפלו ב-SavedState. (I97816, b/191893160)

גרסה 1.3.0-rc01

1 ביולי 2021

androidx.activity:activity:1.3.0-rc01, androidx.activity:activity-compose:1.3.0-rc01 ו-androidx.activity:activity-ktx:1.3.0-rc01 מתפרסמים ללא שינויים החל מ-1.3.0-beta02. גרסה 1.3.0-rc01 מכילה את ההתחייבויות האלה.

גרסה 1.3.0-beta02

16 ביוני 2021

androidx.activity:activity:1.3.0-beta02, androidx.activity:activity-compose:1.3.0-beta02 ו-androidx.activity:activity-ktx:1.3.0-beta02 שוחררו. גרסה 1.3.0-beta02 מכילה את התחייבויות אלה.

ההגדרה activity-compose עודכנה בהתאם ל'כתיבה' 1.0.0-beta09. ב-androidx.compose.ui:ui-test-junit4 יש עכשיו תלות בזמן הידור ב-activity-compose.

גרסה 1.3.0-beta01

2 ביוני 2021

androidx.activity:activity:1.3.0-beta01, androidx.activity:activity-compose:1.3.0-beta01 ו-androidx.activity:activity-ktx:1.3.0-beta01 שוחררו. גרסה 1.3.0-beta01 מכילה את התחייבויות אלה.

שינויים ב-API

  • השיטה @Composable registerForActivityResult() שהוצאה משימוש בעבר הוסרה. צריך להשתמש ב-rememberLauncherForActivityResult(). (Ic39d3)

גרסה 1.3.0-alpha08

18 במאי 2021

androidx.activity:activity:1.3.0-alpha08, androidx.activity:activity-compose:1.3.0-alpha08 ו-androidx.activity:activity-ktx:1.3.0-alpha08 שוחררו. גרסה 1.3.0-alpha08 מכילה את התחייבויות אלה.

תכונות חדשות

  • הפונקציה CaptureVideo ActivityResultContract החדשה מחזירה ערך בוליאני ל-ActivityResultCallback, שמציין אם הסרטון נשמר בהצלחה ב-URI הנתון. הגרסה הזו מחליפה את החוזה של TakeVideo שהוצא משימוש, כי לעיתים רחוקות מאוד אפליקציות מצלמה תומכות בהחזרת מפת סיביות של תמונה ממוזערת, ולכן התוצאה לא מועילה. (Ie21f2, b/185938070)
  • ממשק ה-API החדש Activity#setPipAnimationHintView נוסף לעדכון של PipParams רמז לכתיבה במקור בכל פעם שהתצוגה זזה. (I9063d)

שינויים ב-API

  • הפונקציה rememberLauncherForActivityResult מחזירה עכשיו מרכז אפליקציות שמוציא משימוש את הפונקציה unregister() – הרישום וביטול הרישום של מרכז האפליקציות מטופלות באופן אוטומטי על ידי rememberLauncherForActivityResult. (I2443e)

תאימות לכתיבה

  • androidx.activity:activity-compose:1.3.0-alpha08 תואם רק לגרסה 1.0.0-beta07 ואילך של 'כתיבה'.

גרסה 1.3.0-alpha07

21 באפריל 2021

androidx.activity:activity:1.3.0-alpha07, androidx.activity:activity-compose:1.3.0-alpha07 ו-androidx.activity:activity-ktx:1.3.0-alpha07 שוחררו. גרסה 1.3.0-alpha07 מכילה את התחייבויות אלה.

תיקוני באגים

  • rememberLauncherForActivityResult עכשיו מחזירה הפניה קבועה של ActivityResultLauncher גם אם שינויים בחוזה עקב הרכבים מחדש. (Id2d6d)
  • השימוש בגרסאות לא יציבות של Fragments מעל 1.3.0 יופסק תפעיל שגיאת איתור שגיאות בקוד (lint) שקוראת לכם להשתמש ב-1.3.0. (aosp/1670206, b/184847092)

גרסה 1.3.0-alpha06

7 באפריל 2021

androidx.activity:activity:1.3.0-alpha06, androidx.activity:activity-compose:1.3.0-alpha06 ו-androidx.activity:activity-ktx:1.3.0-alpha06 שוחררו. גרסה 1.3.0-alpha06 מכילה את התחייבויות אלה.

שינויים ב-API

  • השם של ה-API registerForActivityResult() השתנה ל- rememberLauncherForActivityResult() כדי לציין בצורה טובה יותר שה-ActivityResultLauncher שהוחזר הוא אובייקט מנוהל שנשמר בשמך. ניסיון להתקשר אל unregister אל ActivityResultLauncher שהוחזרו יקפיץ הודעת שגיאה. (I2bb6d)
  • LocalOnBackPressedDispatcherOwner.current והקבוצה LocalActivityResultRegistryOwner.current מחזיר עכשיו ערך null כדי לקבוע בצורה מדויקת יותר אם הוא זמין ביצירה הנוכחית. את ממשקי ה-API שמחייבים את ממשקי ה-API האלה. כמו BackHandler ו-rememberLauncherForActivityResult(), בהתאמה, עכשיו יקפיץ הודעת שגיאה תיאורית יותר הבעלים המקורי לא נמצא. NavHost עובד עכשיו גם אם לא נמצא OnBackPressedDispatcherOwner, זה מה שקורה כשצופים בתצוגה מקדימה של NavHost. (I7d8b4)

תיקוני באגים

  • עכשיו BackHandler יירט כראוי לחיצות חוזרות האירוע שבו הפעילות היא STOPPED, ואז שוב STARTED, ועוד נוספו קריאות חוזרות (callback) עם LifecycleOwner. (I71de6, b/182284739)
  • שימוש בתוסף השיטה launch() עם תוסף מותאם אישית רכיב ActivityResultContract שיש בו קלט Unit כבר לא יגרום ל- NullPointerException (I76282, b/183837954)

גרסה 1.3.0-alpha05

24 במרץ 2021

androidx.activity:activity:1.3.0-alpha05, androidx.activity:activity-compose:1.3.0-alpha05 ו-androidx.activity:activity-ktx:1.3.0-alpha05 שוחררו. גרסה 1.3.0-alpha05 מכילה את התחייבויות אלה.

תיקוני באגים

  • מפעילות 1.2.2: תוקנה בעיה בבדיקת השגיאות בקוד של InvalidFragmentVersionForActivityResult, שהובילה לחיוב שגוי במהלך השימוש ב-Fragment 1.3.1 ואילך. (I54da1, b/182388985)
  • מפעילות 1.2.2: מעכשיו, ComponentActivity נמנע מ-ClassNotFoundException כשמפעילים Intent מ-ActivityResultContract שהיה נקבע בעבר כתוספת בIntent אחר. (Ieff05, b/182906230)

עדכונים בנושא תלות

גרסה 1.3.0-alpha04

10 במרץ 2021

androidx.activity:activity:1.3.0-alpha04, androidx.activity:activity-compose:1.3.0-alpha04 ו-androidx.activity:activity-ktx:1.3.0-alpha04 שוחררו. גרסה 1.3.0-alpha04 מכילה את התחייבויות אלה.

תיקוני באגים

  • מפעילות 1.2.1: מעכשיו, RequestMultiplePermissions תמיד יחזיר תוצאות של כל ההרשאות הנדרשות, במקום רק הרשאות שלא הוענקו בעבר. (I50bc3, b/180884668)
  • מפעילות 1.2.1: ActivityResultRegistry מוודא עכשיו שבתהליך עיבוד בקשות launch() יחזירו את התוצאות שלהן גם אם unregister(), ואז register() שוב עם אותו מפתח. (I9ef34, b/181267562)
  • כתיבת הפעילות כבר לא מוסיפה בדיקה ותלויות ב-classpath של סביבת זמן הריצה. (Ifd8b3)
  • תוקנה בעיה ב-BackHandler שבה lambda של onBack שהוגדרה בעבר עדיין היה בשימוש אחרי הרכבה מחדש. (8eb5eb)

גרסה 1.3.0-alpha03

24 בפברואר 2021

androidx.activity:activity:1.3.0-alpha03, androidx.activity:activity-compose:1.3.0-alpha03 ו-androidx.activity:activity-ktx:1.3.0-alpha03 שוחררו. גרסה 1.3.0-alpha03 מכילה את התחייבויות אלה.

תכונות חדשות

  • יש עכשיו פונקציה קומפוזבילית registerForActivityResult לקבלת תוצאות מפעילויות בתוך תכנים קומפוזביליים. (Ia7851, b/172690553)

שינויים ב-API

  • ב-LocalOnBackPressedDispatcherOwner יש עכשיו פונקציות provides שיכולות בשימוש ב-CompositionLocalProvider, מחליף את ממשק ה-API של asProvidableCompositionLocal(). (I45d24)

גרסה 1.3.0-alpha02

10 בפברואר 2021

androidx.activity:activity:1.3.0-alpha02, androidx.activity:activity-compose:1.3.0-alpha02 ו-androidx.activity:activity-ktx:1.3.0-alpha02 שוחררו. גרסה 1.3.0-alpha02 מכילה את התחייבויות אלה.

תיקוני באגים

  • תוקנה בעיה בניסוח 'פעילות בכתיבה' 1.3.0-alpha01 שגורמת לחריגה NoSuchMethodError: No static method setContent במהלך השימוש בניסוח 1.0.0-alpha12. כל המשתמשים ב'פיתוח נייטיב' צריכים להיות תלויים ב-1.3.0-alpha02 ומעלה. (b/179911234)

שינויים ב-API

  • אפשר להשתמש ב-API BackHandler כדי לאפשר לפריט קומפוזבילי ליירט את לחצן 'הקודם' של המערכת. (I58ed5, b/172154006)

גרסה 1.3.0-alpha01

10 בפברואר 2021

androidx.activity:activity:1.3.0-alpha01, androidx.activity:activity-compose:1.3.0-alpha01 ו-androidx.activity:activity-ktx:1.3.0-alpha01 שוחררו. גרסה 1.3.0-alpha01 מכילה את התחייבויות אלה.

תכונות חדשות

  • הארטיפקט החדש של activity-compose מספק כלי עזר ספציפיים ל-Jetpack פיתוח נייטיב ל-androidx.activity ממשקי API ספציפיים.
    • ComponentActivity.setContent עבר מ-androidx.compose.ui.platform.setContent ל-androidx.activity.compose.setContent. (Icf416)

בעיות מוכרות

  • שימוש בכלי 'פיתוח נייטיב' 1.3.0-alpha01 ובספריות שתלויות בו, כמו androidx.compose.ui:ui-test-junit4:1.0.0-alpha12, יוביל להחרגה של NoSuchMethodError: No static method setContent. (b/179911234)

גרסה 1.2.4

גרסה 1.2.4

21 ביולי 2021

androidx.activity:activity:1.2.4 ו-androidx.activity:activity-ktx:1.2.4 שוחררו. גרסה 1.2.4 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • מפעילות 1.3.0-rc02: הקריאות החוזרות (callback) של Activity resultRegistry נשמרות עכשיו כמו שצריך ושוחזרו, כדי שהקריאות החוזרות לא ישוכפלו ב-SavedState. (I97816, b/191893160)

גרסה 1.2.3

גרסה 1.2.3

5 במאי 2021

androidx.activity:activity:1.2.3 ו-androidx.activity:activity-ktx:1.2.3 שוחררו. גרסה 1.2.3 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • שימוש בתוסף השיטה launch() עם תוסף מותאם אישית רכיב ActivityResultContract שיש בו קלט Unit כבר לא יגרום ל- NullPointerException (I76282, b/183837954)
  • תוקנה שגיאה באיתור שגיאות בקוד (lint) שמנחה את המשתמשים להשתמש במקטע 1.3.0 במהלך שימוש בגרסת snapshot, אלפא, בטא או RC של גרסה חדשה יותר של Fragments. (f4a57e, b/184847092)

גרסה 1.2.2

גרסה 1.2.2

24 במרץ 2021

androidx.activity:activity:1.2.2 ו-androidx.activity:activity-ktx:1.2.2 שוחררו. גרסה 1.2.2 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • תוקנה בעיה בבדיקת השגיאות בקוד של InvalidFragmentVersionForActivityResult שהובילה לערך חיובי שגוי במהלך השימוש ב-Fragment 1.3.1 ואילך. (I54da1, b/182388985)
  • עכשיו ComponentActivity נמנע מClassNotFoundException כשמפעילים Intent מ-ActivityResultContract שהיה שמור בעבר כתוספת ב-Intent אחר. (Ieff05, b/182906230)

עדכונים בנושא תלות

גרסה 1.2.1

גרסה 1.2.1

10 במרץ 2021

androidx.activity:activity:1.2.1 ו-androidx.activity:activity-ktx:1.2.1 שוחררו. גרסה 1.2.1 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • מעכשיו, RequestMultiplePermissions תמיד יחזיר תוצאות עבור כל ההרשאות הנדרשות, במקום רק הרשאות שלא הוענקו בעבר. (I50bc3, b/180884668)
  • לפי ההגדרה ActivityResultRegistry, בקשות של launch() שנמצאות בתהליך יחזירו את התוצאות שלהן גם אם unregister(), ולאחר מכן שוב register() עם אותו מפתח. (I9ef34, b/181267562)

גרסה 1.2.0

גרסה 1.2.0

10 בפברואר 2021

androidx.activity:activity:1.2.0 ו-androidx.activity:activity-ktx:1.2.0 שוחררו. גרסה 1.2.0 כוללת את ההתחייבויות האלה.

שינויים משמעותיים מאז 1.1.0

  • ממשקי API של תוצאות פעילות: ComponentActivity מספק עכשיו ActivityResultRegistry שמאפשר לטפל בתהליכי startActivityForResult()+onActivityResult() וגם requestPermissions()+onRequestPermissionsResult() בלי לבטל את השיטות ב'פעילות' או ב-Fragment', ומשפר את בטיחות הסוגים באמצעות ActivityResultContract, ומספק קטעי הוק (hooks) לבדיקת התהליכים האלה. מומלץ לעיין בגרסה המעודכנת של קבלת תוצאה מפעילות.
  • ContextAware: ComponentActivity מטמיע עכשיו את ContextAware, וכך אפשר להוסיף מופע אחד או יותר של OnContextAvailableListener שיקבלו קריאה חוזרת לפני הבסיס Activity.onCreate().

    • תוסף Kotlin עם השעיה withContextAvailable() מאפשר להפעיל בלוק שלא מושעה כשההקשר הופך לזמין ולהחזיר תוצאה.
    • ה-API הזה משמש את FragmentActivity במקטע 1.3.0 כדי לשחזר את המצב של FragmentManager. מאזינים שנוספו למחלקות המשנה של FragmentActivity יפעלו אחרי המאזינים האלה.
    • ה-API הזה משמש את AppCompatActivity ב-AppCompat 1.3.0-alpha02 ואילך. מאזינים שנוספו למחלקות המשנה של AppCompatActivity יפעלו אחרי המאזינים האלה.
  • תמיכה של ViewTree: ComponentActivity תומך עכשיו בממשקי ה-API של ViewTreeLifecycleOwner.get(View), ViewTreeViewModelStoreOwner.get(View) ו-ViewTreeSavedStateRegistryOwner שנוספו ב-Lifecycle 2.3.0 וב-SavedState 1.1.0 כדי להחזיר את הפעילות עם הערכים LifecycleOwner, ViewModelStoreOwner ו-SavedStateRegistryOwner של כל תצוגה מפורטת שנוספה ישירות אל ComponentActivity.

  • reportFullyDrawn() – השיטה Activity של reportFullyDrawn() הועברה לאחור ב-ComponentActivity כדי לפעול בכל רמות ה-API, תיקון קריסה ב-API 19 והוספת מעקב לשיטה הזו בכל רמות ה-API.

גרסה 1.2.0-rc01

16 בדצמבר 2020

androidx.activity:activity:1.2.0-rc01 ו-androidx.activity:activity-ktx:1.2.0-rc01 שוחררו. גרסה 1.2.0-rc01 מכילה את שמירות האלה.

תיקוני באגים

  • מעכשיו, ActivityResultRegistry תמיד ישחזר את המצב המדויק שנשמר. (Idd56b)
  • הוספת מעקב ל-ComponentActivity.reportFullyDrawn (Ic7632)

תרומה חיצונית

  • ComponentActivity מבטל עכשיו את reportFullyDrawn(), מאפשר לקרוא אותו בכל רמות ה-API ולתקן קריסה במהלך קריאה לשיטה הזו ללא הרשאת המערכת המתאימה במכשירי API 19. תודה סיימון שילר! (b/163239764, #103)

גרסה 1.2.0-beta02

2 בדצמבר, 2020

androidx.activity:activity:1.2.0-beta02 ו-androidx.activity:activity-ktx:1.2.0-beta02 שוחררו. גרסה 1.2.0-beta02 מכילה את התחייבויות אלה.

תיקוני באגים

  • תוקנה בעיה שבה Activity result API לא ימתין שמחזור החיים יהיה STARTED לפני ומספקות תוצאות כשנרשמים ב-Lifecycle. (I109ea)

תרומה חיצונית

  • עדכנת את התיעוד לגבי launch() כדי לציין במפורש שהוא יכול להקפיץ ActivityNotFoundException. תודה מיכאל ז'לינסקי! (aosp/1493580)

גרסה 1.2.0-beta01

1 באוקטובר 2020

androidx.activity:activity:1.2.0-beta01 ו-androidx.activity:activity-ktx:1.2.0-beta01 שוחררו. גרסה 1.2.0-beta01 מכילה את התחייבויות אלה.

תיקוני באגים

  • הפונקציה ActivityResultRegistry יוצרת עכשיו מספרים שלמים באופן אקראי עד שהיא מוצאת מספרים שלמים שלא הוקצו לשימוש כקוד בקשה register(), וכך מונעת חריגה מהאפשרויות של המספרים השלמים שנגרמו כתוצאה מהגדלה של קודי הבקשות. (b/168779518)

  • התצפית של Lifecycle הוסרה כמו שצריך כשמתקשרים ל-unregister() ב-ActivityResultLauncher. (b/165608393)

שינויים בהתנהגות

  • המערכת של ActivityResultRegistry מקפיצה עכשיו IllegalStateException במהלך ניסיון להתקשר אל register() עם LifecycleOwner שהLifecycle שלו כבר הגיע ל-STARTED. (b/165435866)

המסמכים עודכנו

  • מסמכי התיעוד של ContextAware כוללים קישורים אל LifecycleOwner כדי להדגיש קריאות חוזרות (callback) של Lifecycle בתור המקום המתאים לאירועי יצירה והשמדה. (aosp/1414152)

גרסה 1.2.0-alpha08

19 באוגוסט 2020

androidx.activity:activity:1.2.0-alpha08 ו-androidx.activity:activity-ktx:1.2.0-alpha08 שוחררו. גרסה 1.2.0-alpha08 מכילה את התחייבויות אלה.

תכונות חדשות

  • ב-ComponentActivity מוטמע עכשיו ContextAware, וכך אפשר להוסיף מופע OnContextAvailableListener אחד או יותר שיקבלו קריאה חוזרת לפני Activity.onCreate() בבסיס. (b/161390636)
    • תוסף Kotlin עם השעיה withContextAvailable() מאפשר להפעיל בלוק שלא מושעה כשההקשר הופך לזמין ולהחזיר תוצאה. (I8290c)
    • ה-API הזה משמש את FragmentActivity ב-Fragment 1.3.0-alpha08 כדי לשחזר את המצב של FragmentManager. מאזינים שנוספו למחלקות המשנה של FragmentActivity יפעלו אחרי המאזינים האלה. (I513da)
    • ה-API הזה משמש את AppCompatActivity ב-AppCompat 1.3.0-alpha02. מאזינים שנוספו למחלקות המשנה של AppCompatActivity יפעלו אחרי המאזינים האלה. (I513da)

תיקוני באגים

  • תוקנה בעיה בבדיקת איתור השגיאות בקוד של ActivityResultFragmentVersionDetector, שגרמה לשיבושים בשימוש ב-lint מגרסה 27.1.0 ואילך. (b/162155191)

גרסה 1.2.0-alpha07

22 ביולי 2020

androidx.activity:activity:1.2.0-alpha07 ו-androidx.activity:activity-ktx:1.2.0-alpha07 שוחררו. גרסה 1.2.0-alpha07 מכילה את התחייבויות אלה.

תכונות חדשות

  • נוספה בדיקת שגיאות בקוד של InvalidFragmentVersionForActivityResult החדשה שמאמתת שנעשה שימוש ב-Fragment 1.3.0-alpha07 בזמן השימוש ב-Activity result API, כדי למנוע קריסות בסביבת זמן הריצה שנובעות מבעיות מסוג 'קוד בקשה לא תקין' ומבקשות הרשאה לא מתפקדות שנגרמו כתוצאה משימוש בגרסאות ישנות של Fragments. (b/152554847)

תרומה חיצונית

  • תוקן ArrayIndexOutOfBoundsException כאשר ניתוח התוצאות לגבי הפעילות עם RequestPermission חוזה התוצאה. (I8f9e3, b/161057605)

גרסה 1.2.0-alpha06

10 ביוני 2020

androidx.activity:activity:1.2.0-alpha06 ו-androidx.activity:activity-ktx:1.2.0-alpha06 שוחררו. גרסה 1.2.0-alpha06 מכילה את התחייבויות אלה.

תכונות חדשות

  • עכשיו אפשר להשמיד את הכיתה ActivityResult בקוטלין לגשת ישירות אל requestCode ואל intent. (b/157212935)
  • ActivityResultLauncher מאפשר לך לקבל עכשיו ActivityResultContract ששימש לרישום מרכז האפליקציות. (b/156875743)

שינויים ב-API

  • שינוי בעייתי: השם של ה-method invoke() ב-ActivityResultRegistry השתנה ל-onLaunch(). (b/157496491)
  • החוזה של OpenMultipleDocuments מחזיר עכשיו רשימה ריקה במקום null לקריאה החוזרת הרשומה אם לא מוחזרת תוצאה. (b/157348014)

גרסה 1.2.0-alpha05

20 במאי 2020

androidx.activity:activity:1.2.0-alpha05 ו-androidx.activity:activity-ktx:1.2.0-alpha05 שוחררו. גרסה 1.2.0-alpha05 מכילה את התחייבויות אלה.

תכונות חדשות

שינויים ב-API

  • החוזה של TakePicture מחזיר עכשיו ערך של boolean, שמציין הצלחה, ולא תמונה ממוזערת Bitmap, כי רק לעיתים רחוקות מאוד יש תמיכה באפשרות הזו באפליקציות המצלמה בכתיבת התמונה ל-Uri שסופק. (b/154302879)
  • התוספים invoke() ב-ActivityResultLauncher הוסרו לטובת שימוש מפורש ב-launch() כדי לציין טוב יותר שאלה פעולות אסינכרוניות. תוספי Kotlin ל-launch נוספו לחבילת androidx.activity.result עבור ActivityResultLauncher<Void> ו-ActivityResultLauncher<Unit>, שמבטלים את הצורך להעביר ב-null או ב-Unit, בהתאמה, ומשקפים את ההתנהגות הזו מהתוספים invoke() הקודמים. (aosp/1304674, aosp/1304675)
  • ה-methods IntentSenderRequest.Builder עבור setFlagsMask() ו-setFlagsValues() שולבו לשיטה אחת מסוג setFlags(). (aosp/1302111)

תיקוני באגים

  • במהלך רישום של ActivityResultCallback דרך LifecycleOwner, תוקנה בעיה שבה הקריאה החוזרת (callback) תופעל לפני שהמצב יגיע אל STARTED. (aosp/1309744)

שינויים בהתנהגות

  • הרכיב ActivityResultRegistry יוצר עכשיו קודי בקשות החל מ-0xFFFF במקום ב-0, כך שהוא מונע חפיפה בשימוש ב-startActivityForResult() או ב-requestPermissions() בפעילות. (aosp/1302324)

גרסה 1.2.0-alpha04

29 באפריל 2020

androidx.activity:activity:1.2.0-alpha04 ו-androidx.activity:activity-ktx:1.2.0-alpha04 שוחררו. גרסה 1.2.0-alpha04 מכילה את התחייבויות אלה.

תכונות חדשות

  • נוסף חוזה שיכול לקרוא ל-startIntentSenderForתוצאה לממשקי ה-API של Activityתוצאה. (b/153007517)

שינויים ב-API

  • השם של ה-method prepareCall() השתנה ל-registerForActivityResult(), גם ב-ComponentActivity כאן וגם במקטע 1.3.0-alpha04. (aosp/1278717)
  • השמות של החוזים הבאים: GetContents, OpenDocuments ו-RequestPermissions, ועכשיו הם GetMultipleContents, OpenMultipleDocuments ו-RequestMultiplePermissions, בהתאמה. (aosp/1280161)
  • ComponentActivity מטמיע את הממשק ActivityResultRegisteryOwner. (aosp/1290888)
  • - ממשקי ה-API של startActivityForResult()/onActivityResult() ו-onRequestPermissionsResult() ב-ComponentActivity הוצאו משימוש. צריך להשתמש ב-Activity results API. (b/154751887)

תיקוני באגים

  • כשמשתמשים בחוזים של GetMultipleContents ו-OpenMultipleDocuments ובוחרים פריט אחד, הוא מוחזר כראוי לקריאה החוזרת (callback). (b/152941153)

גרסה 1.2.0-alpha03

1 באפריל, 2020

androidx.activity:activity:1.2.0-alpha03 ו-androidx.activity:activity-ktx:1.2.0-alpha03 שוחררו. גרסה 1.2.0-alpha03 מכילה את התחייבויות אלה.

תכונות חדשות

  • נוספו החוזים מסוג TakeVideo, PickContact, GetContent, GetContents, OpenDocument, OpenDocuments, OpenDocumentTree ו-CreateDocument לקבוצת החוזים שהוגדרו מראש שסופקו על ידי ActivityResultContracts. (aosp/1262482, aosp/1266916, aosp/1268960)
  • ממשקי ה-API של 'תוצאות הפעילות' תומכים עכשיו בהפעלת פעילות לקבלת תוצאות עם ערך אופציונלי של ActivityOptionsCompat. (b/151860054)

שינויים ב-API

  • החוזה של TakePicture כולל עכשיו קלט מסוג Uri למקום שבו צריך לאחסן את התמונה. השם של החוזה הקודם שלא מקבל קלט השתנה ל-TakePicturePreview. (aosp/1262482)
  • השם של ה-method registerActivityResultCallback() ב-ActivityResultRegistry השתנה ל-register(). (aosp/1267621)
  • השם של ה-method dispose() ב-ActivityResultLauncher שונה ל-unregister() וה-unregisterResultCallback() ב-ActivityResultRegistry הוסרה. (aosp/1267621)
  • השיטה createIntent() של ActivityResultContact לוקחת עכשיו Context בנוסף לקלט, כדי לאפשר יצירה של מנגנוני Intent מפורשים. (aosp/1238800)
  • עכשיו ActivityResultContract יכול לשנות את הערך של getSynchronousResult() כדי לספק תוצאה בלי להתקשר אל startActivityForResult. המאפיין הזה משמש את החוזים של RequestPermission ושל RequestPermissions כדי להעביר באופן תקין סטטוס 'הוענק' אם ההרשאות המבוקשות כבר הוענקו. (b/151110799)
  • החוזה של Dial שהיה זמין בעבר הוסר כי Intent לא מיועדת לשימוש עם startActivityForResult(). (aosp/1266916)
  • רבים מממשקי ה-API של תוצאות הפעילות שלא אמורים להרחיב הם עכשיו final. למשל, getActivityResultRegistry(), ה-methods prepareCall(), כל השיטות של ActivityResultRegistry מלבד invoke(), ומספר חוזי ברירת מחדל שלא תומכים בתוספות אופציונליות. (b/152439361)

תיקוני באגים

  • בוצע תיקון NullPointerException ב-ActivityResultRegistry במהלך ניסיון לספק תוצאות לקריאה חוזרת (callback) שעדיין לא נרשמה מחדש לאחר שינוי הגדרה. ActivityResultRegistry שומר עכשיו את התוצאות הממתינות ושולח אותן לאחר ההרשמה מחדש של הקריאה החוזרת. (b/152137004)

גרסה 1.2.0-alpha02

18 במרץ 2020

androidx.activity:activity:1.2.0-alpha02 ו-androidx.activity:activity-ktx:1.2.0-alpha02 שוחררו. גרסה 1.2.0-alpha02 מכילה את התחייבויות אלה.

תכונות חדשות

  • Activity resultRegistry: ComponentActivity כולל עכשיו ActivityResultRegistry שמאפשר לטפל בתהליכי startActivityForResult()+onActivityResult() וגם requestPermissions()+onRequestPermissionsResult() בלי לבטל את השיטות ב-Activity או ב-Fragment, ומשפר את בטיחות הסוגים באמצעות ActivityResultContract, ומספק קטעי הוק (hooks) לבדיקת התהליכים האלה. תוכלו לעיין בגרסה המעודכנת של קבלת תוצאה מפעילות. (b/125158199)

גרסה 1.2.0-alpha01

4 במרץ, 2020

androidx.activity:activity:1.2.0-alpha01 ו-androidx.activity:activity-ktx:1.2.0-alpha01 שוחררו. גרסה 1.2.0-alpha01 מכילה את התחייבויות אלה.

תכונות חדשות

  • נוספה תמיכה ב-API של ViewTreeLifecycleOwner.get(View) במסגרת מחזור החיים 2.3.0-alpha01, כך שאפשר יהיה להחזיר את הפעילות בתור LifecycleOwner לכל תצוגה מפורטת שנוספו ישירות לפעילות. (aosp/1182955)

תיקוני באגים

  • תוקנה רגרסיה שהושקה בפעילות 1.1.0 במהלך הפעלה בגרסאות ישנות של הפלטפורמה, שבהן onBackPressed() יגרום לIllegalStateException בגלל באג ב-android.app.FragmentManager. (b/146290338)

גרסה 1.1.0

גרסה 1.1.0

22 בינואר, 2020

androidx.activity:activity:1.1.0 משוחרר. גרסה 1.1.0 כוללת את ההתחייבויות האלה.

שינויים חשובים מאז 1.0.0

  • שילוב של מצב SaveState של תצוגת מחזור החיים: SavedStateViewModelFactory הוא עכשיו היצרן המוגדר כברירת מחדל לשימוש ב-by viewModels(), ב-constructor של ViewModelProvider או ב-ViewModelProviders.of() עם ComponentActivity או עם מחלקות המשנה שלו.

גרסה 1.1.0-rc03

4 בדצמבר 2019

androidx.activity:activity:1.1.0-rc03 ו-androidx.activity:activity-ktx:1.1.0-rc03 שוחררו. גרסה 1.1.0-rc03 מכילה את ההתחייבויות האלה.

שינויים בתלות

  • הפעילות תלויה עכשיו במחזור החיים 2.2.0-rc03 וב-SavedState של תצוגת מחזור החיים 1.0.0-rc03.

גרסה 1.1.0-rc02

7 בנובמבר 2019

androidx.activity:activity:1.1.0-rc02 ו-androidx.activity:activity-ktx:1.1.0-rc02 שוחררו. גרסה 1.1.0-rc02 מכילה את ההתחייבויות האלה.

שינויים בתלות

  • הפעילות תלויה עכשיו במחזור החיים 2.2.0-rc02.

גרסה 1.1.0-rc01

23 באוקטובר 2019

androidx.activity:activity:1.1.0-rc01 ו-androidx.activity:activity-ktx:1.1.0-rc01 שוחררו ללא שינויים מ-1.1.0-beta01. גרסה 1.1.0-rc01 מכילה את ההתחייבויות האלה.

גרסה 1.1.0-beta01

9 באוקטובר 2019

androidx.activity:activity:1.1.0-beta01 ו-androidx.activity:activity-ktx:1.1.0-beta01 שוחררו. גרסה 1.1.0-beta01 מכילה את התחייבויות אלה.

שינויים בתלות

  • הפעילות תלויה עכשיו ב-SavedState 1.0.0.

גרסה 1.1.0-alpha03

5 בספטמבר 2019

androidx.activity:activity:1.1.0-alpha03 ו-androidx.activity:activity-ktx:1.1.0-alpha03 שוחררו. אפשר למצוא כאן את ההתחייבות שכלולה בגרסה הזו.

תכונות חדשות

  • הפעילות תלויה עכשיו ביציבות של Core 1.1.0.

תיקוני באגים

גרסה 1.1.0-alpha02

7 באוגוסט 2019

androidx.activity:activity:1.1.0-alpha02 ו-androidx.activity:activity-ktx:1.1.0-alpha02 שוחררו. אפשר למצוא כאן את ההתחייבות שכלולה בגרסה הזו.

תכונות חדשות

  • SavedStateViewModelFactory הוא עכשיו היצרן המוגדר כברירת מחדל כשמשתמשים ב-by viewModels(), ב-constructor של ViewModelProvider או ב-ViewModelProviders.of() עם ComponentActivity (b/135716331)

גרסה 1.1.0-alpha01

2 ביולי 2019

androidx.activity:activity:1.1.0-alpha01 ו-androidx.activity:activity-ktx:1.1.0-alpha01 שוחררו. אפשר למצוא כאן את ההתחייבות שכלולה בגרסה הזו.

תכונות חדשות

  • activity תלוי עכשיו במחזור החיים 2.2.0-alpha02. (aosp/1007817)
  • activity-ktx הוסיפה תלות ב-lifecycle-runtime-ktx; כבר לא צריך להוסיף אותו באופן מפורש ליחסי התלות בזמן השימוש ב-activity-ktx או בספריות שתלויות ב-activity-ktx (כמו fragment-ktx). (aosp/987162)

גרסה 1.0.0

גרסה 1.0.0

5 בספטמבר 2019

androidx.activity:activity:1.0.0 ו-androidx.activity:activity-ktx:1.0.0 שוחררו. אפשר למצוא כאן את ההתחייבות שכלולה בגרסה הזו.

התכונות העיקריות של גרסה 1.0.0

  • ComponentActivity: ComponentActivity משמש כסיווג הבסיס החדש של FragmentActivity ב-Fragment 1.1.0, וכתוצאה מכך AppCompatActivity ב-AppCompat 1.1.0.
  • activity-ktx: המודול activity-ktx כולל סיומת by viewModels של נכס Kotlin לגישה ל-ViewModels. המודול הזה נכלל באופן אוטומטי כאשר כוללים את fragment-ktx מ-Fragment 1.1.0.
  • OnBackClickedDispatcher: כחלופה קומפוזבילית לשינוי של onBackPressed(), עכשיו אפשר לרשום OnBackPressedCallback מכל LifecycleOwner (כמו מקטע) כדי ליירט אירועים של לחצן 'הקודם' של המערכת. lambda עם גרסת המקבל addCallback נוספה אל activity-ktx. פרטים נוספים זמינים במאמר הוספת תיעוד מותאם אישית של ניווט אחורה.
  • הוצאה משימוש של onRetainCustomNonConfigurationInstance: ממשקי ה-API onRetainCustomNonConfigurationInstance() וממשקי ה-API הקשורים שלהם getLastCustomNonConfigurationInstance() הוצאו משימוש. מומלץ מאוד להשתמש ב-ViewModels כדי לאחסן מצבים ללא הגדרה, כי הם מציעים פתרון קומפוזבילי שמתאים לכל ViewModelStoreOwner, כך שהבעלות על האובייקטים שנשמרו תהיה ברורה ומספקת קריאה חוזרת (callback) של onCleared() לניקוי משאבים כשהפעילות מושמדת.

גרסה 1.0.0-rc01

2 ביולי 2019

androidx.activity:activity:1.0.0-rc01 ו-androidx.activity:activity-ktx:1.0.0-rc01 שוחררו ללא שינויים מ-1.0.0-beta01. אפשר למצוא כאן את ההתחייבות שכלולה בגרסה הזו.

גרסה 1.0.0-beta01

5 ביוני 2019

androidx.activity::activity:1.0.0-beta01 ו-androidx.activity:activity-ktx:1.0.0-beta01 שוחררו ללא שינויים מ-1.0.0-alpha08. אפשר למצוא כאן את ההתחייבות שכלולה בגרסה הזו.

גרסה 1.0.0-alpha08

7 במאי 2019

androidx.activity:activity:1.0.0-alpha08 ו-androidx.activity:activity-ktx:1.0.0-alpha08 שוחררו. אפשר למצוא כאן את ההתחייבות שכלולה בגרסה הזו.

שינויים ב-API

  • שינוי תוכנה שעלול לגרום לכשל: השיטות addOnBackPressedCallback ו-removeOnBackPressedCallback שהוצאו בעבר משימוש ב-ComponentActivity הוסרו. aosp/953857
  • השיטות setEnabled() ו-isEnabled() של OnBackPressedCallback הן סופיות עכשיו. b/131416833
  • השיטה remove() של OnBackPressedCallback היא סופית. aosp/952720
  • ב-OnBackPressedDispatcher יש עכשיו constructors ציבוריים שמאפשרים לך ליצור מכונות משלך לבדיקה, וכו' aosp/953431
  • השדה onBackPressed() עבור ComponentActivity מסומן עכשיו באופן מפורש כ-@MainThread aosp/952721

תיקוני באגים

  • תוקנו ConcurrentModificationException בקריאה ל-remove() מתוך ה-method handleOnBackPressed() של OnBackPressedCalback שהתווסף עם LifecycleOwner. b/131765095

גרסה 1.0.0-alpha07

25 באפריל 2019

androidx.activity:activity:1.0.0-alpha07 ו-androidx.activity:activity-ktx:1.0.0-alpha07 שוחררו. אפשר למצוא כאן את ההתחייבות שכלולה בגרסה הזו.

שינויים ב-API

בגרסה הזו מתבצעים שינויים משמעותיים בטיפול בonBackPressed(). פרטים נוספים זמינים במסמכי התיעוד המעודכנים בנושא התאמה אישית.

  • השיטות עבור OnBackPressedCallback ו-OnBackPressedDispatcher סומנו כ-@MainThread. (aosp/943813)
  • ה-method handleOnBackPressed() לא מחזירה יותר boolean. במקום זאת, OnBackPressedCallback הוא עכשיו מחלקה מופשטת שאפשר להפעיל או להשבית – רק כששיטת isEnabled() החדשה מחזירה True, תיקרא handleOnBackPressed(), וכתוצאה מכך חובה ללחוץ על לחצן 'הקודם'. (aosp/944518)
  • ה-methods addCallback של OnBackPressedDispatcher לא מחזירות יותר מופע Cancellable. OnBackPressedCallback כוללים עכשיו שיטת remove() שממלאת את הפונקציונליות הזו, ומאפשרת לך לקרוא ל-remove() במהלך handleOnBackPressed(). (aosp/944519) (aosp/946316)
  • activity-ktx מכיל עכשיו קריאה חוזרת ברמת הנמען עבור addCallback שמקבלת lamdba שמטמיעה את handleOnBackPressed() ויש לה גישה אל isEnabled ואל remove() (aosp/944520)

גרסה 1.0.0-alpha06

3 באפריל 2019

androidx.activity:activity:1.0.0-alpha06 ו-androidx.activity:activity-ktx:1.0.0-alpha06 שוחררו. אפשר למצוא כאן את ההתחייבות שכלולה בגרסה הזו.

שינויים ב-API

  • ComponentActivity מכיל עכשיו constructor נוסף של @LayoutRes int, שמחליף את ההתנהגות הקודמת של הוספת הערות למחלקה AppCompatActivity בכיתוב @ContentView. הגישה הזו עובדת גם במודולים של אפליקציות וגם במודולים של ספריות. (b/128352521)
  • ממשקי ה-API הקשורים ל-OnBackPressedCallback ב-ComponentActivity הוצאו משימוש ותואמים לממשק החדש של OnBackPressedDispatcher, שניתן לאחזר דרך getOnBackPressedDispatcher(). (aosp/922523)
  • שיטות להוספת OnBackPressedCallback חדש ל-OnBackPressedDispatcher מחזירות עכשיו אובייקט Cancellable, שמאפשרות הסרה של הקריאה החוזרת בלי לדרוש הפניה מפורשת ל-OnBackPressedDispatcher. (aosp/922523)
  • הוספה של OnBackPressedCallback עם LifecycleOwner משויך עכשיו, תוביל להוספה ולהסרה של OnBackPressedCallback כשמחזור החיים מתחיל ומופסק, בהתאמה. (aosp/922523)

גרסה 1.0.0-alpha05

13 במרץ 2019

androidx.activity:activity:1.0.0-alpha05 והקבוצה androidx.activity:activity-ktx:1.0.0-alpha05 שוחררו. רשימת ההתחייבויות המלאה שכלולות בגרסה הזו, אפשר למצוא כאן.

תכונות חדשות

  • חיפושי הערות ב-@ContentView שמורים עכשיו במטמון (b/123709449)

גרסה 1.0.0-alpha04

30 בינואר 2019

androidx.activity:activity 1.0.0-alpha04 ו-androidx.activity:activity-ktx 1.0.0-alpha04 משוחררים.

תכונות חדשות

  • נוספה תמיכה בהערת המחלקה @ContentView שמאפשרת לציין איזה קובץ XML של הפריסה צריך להגדיל כחלופה לשימוש ב-setContentView(). (aosp/837619)

שינויים ב-API

תיקוני באגים

  • המודול activity תלוי עכשיו בגרסה 2.1.0-alpha02 של ViewModel כדי להתאים לתלות של המודול activity-ktx.

גרסה 1.0.0-alpha03

17 בדצמבר 2018

androidx.activity 1.0.0-alpha03 משוחרר.

תכונות חדשות

  • ב-ComponentActivity מוטמע BundleSavedStateRegistryOwner ותלוי בספרייתSavedState החדשה [aosp/815133]
  • רכיב ComponentActivity מטפל עכשיו בבאג של framework ב-Android שיגרום ל-inputMethodManager להדליף את התצוגה המטורגטת האחרונה [b/37122102]

גרסה 1.0.0-alpha02

3 בדצמבר 2018

שינויים ב-API

  • נוספה הערה שלפיה אין לבטל את getLifecycle(), והוא יימסר final בגרסה עתידית. צריך לשלוח תכונה בקשה אם מבטלים כרגע את השיטה הזו. (aosp/815834)

גרסה 1.0.0-alpha01

5 בנובמבר 2018

androidx.activity 1.0.0-alpha01 השקות ComponentActivity, מחלקה בסיסית חדשה של FragmentActivity הקיים AppCompatActivity

תכונות חדשות

  • עכשיו אפשר לרשום OnBackPressedCallback דרך addOnBackPressedCallback כדי לקבל onBackPressed() קריאות חוזרות (callback) בלי לשנות את השיטה. בפעילות שלכם.
  • נוסף נציג מורשה חדש לנכס ב-by viewModels() Kotlin לאחזור ViewModel מ-ComponentActivity.
  • אירועי קלט (כמו קליקים) בהמתנה מבוטלים עכשיו ב-onStop().

שינויים ב-API

  • ההטמעה של LifecycleOwner ו-ViewModelStoreOwner הסתיימה הועבר מ-FragmentActivity אל ComponentActivity.
  • האפשרות onRetainCustomNonConfigurationInstance הוצאה משימוש. צריך להשתמש ב ViewModel לאחסון אובייקטים שצריכים לשרוד שינויים בהגדרה.