गतिविधि

गतिविधि के आधार पर बनाए गए, कंपोज किए जा सकने वाले एपीआई ऐक्सेस करें.
नया अपडेट रिलीज़ किया गया जांचा और परखा हुआ वर्शन रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा रिलीज़
11 दिसंबर, 2024 1.9.3 1.10.0-rc01 - -

डिपेंडेंसी का एलान करना

गतिविधि पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.

अपने ऐप्लिकेशन या मॉड्यूल के लिए, 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")
}

डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.

सुझाव

आपके सुझाव, शिकायत या राय से हमें Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या इस लाइब्रेरी को बेहतर बनाने के लिए आपके पास कोई सुझाव है, तो हमें बताएं. नई लाइब्रेरी बनाने से पहले, कृपया इस लाइब्रेरी में मौजूद मौजूदा समस्याओं पर एक नज़र डालें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या पर अपना वोट जोड़ा जा सकता है.

नई समस्या बनाना

ज़्यादा जानकारी के लिए, समस्या ट्रैकर का दस्तावेज़ देखें.

वर्शन 1.10

वर्शन 1.10.0-rc01

11 दिसंबर, 2024

androidx.activity:activity:1.10.0-rc01, androidx.activity:activity-compose:1.10.0-rc01, और androidx.activity:activity-ktx:1.10.0-rc01 रिलीज़ हो गए हैं. वर्शन 1.10.0-rc01 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • PredictiveBackHandler के चालू होने के दौरान, चालू होने की स्थिति में बदलाव करने से, कॉलबैक तुरंत शॉर्ट सर्किट हो जाता था. इस समस्या को ठीक कर दिया गया है. अब यह मौजूदा कॉलबैक पूरा कर देगा, भले ही चालू होने की स्थिति में बदलाव हो. (Ib8719)

वर्शन 1.10.0-beta01

13 नवंबर, 2024

androidx.activity:activity:1.10.0-beta01, androidx.activity:activity-compose:1.10.0-beta01, और androidx.activity:activity-ktx:1.10.0-beta01 को पिछले ऐल्फ़ा वर्शन के बाद से बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.10.0-beta01 में ये कमिट शामिल हैं.

वर्शन 1.10.0-alpha03

30 अक्टूबर, 2024

androidx.activity:activity:1.10.0-alpha03, androidx.activity:activity-compose:1.10.0-alpha03, और androidx.activity:activity-ktx:1.10.0-alpha03 रिलीज़ हो गए हैं. वर्शन 1.10.0-alpha03 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • एक नया LocalActivity कंपोज़िशन लोकल जोड़ा गया है, जो मौजूदा दायरे के लिए Activity उपलब्ध कराता है. इससे, डेवलपर को LocalContext से Activity पाने की ज़रूरत नहीं पड़ती. इसमें एक नया लिंट नियम भी है, जो यह जांच करता है कि LocalContext को Activity में गलत तरीके से कब कास्ट किया जा रहा है. (I7746a, b/283009666)

गड़बड़ियां ठीक की गईं

  • गतिविधि 1.9.3 से: हैंडलर बंद होने के बाद, PredictiveBackHandler अपना कॉलबैक ट्रिगर नहीं करेगा. इससे, नेविगेशन कंपोज़ से NavHost को IndexOutOfBoundsException के तौर पर दिखाने की समस्या ठीक हो जाएगी. (I3f75e, b/365027664, b/340202286)

डिपेंडेंसी अपडेट

  • Activity Compose अब Compose Runtime 1.7.0 (I7746a, b/283009666) पर निर्भर करता है

वर्शन 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 services को नहीं भेजते. हालांकि, वे OEM और सिस्टम ऐप्लिकेशन को फ़ॉलबैक के तौर पर फ़ोटो पिकर का बेहतर अनुभव देने के लिए, सार्वजनिक ACTION_SYSTEM_FALLBACK_PICK_IMAGES कार्रवाई और उससे जुड़ी अन्य सुविधाओं का इस्तेमाल करते हैं. जिन डिवाइसों पर Google Play services का नया वर्शन है उन पर इस बदलाव का कोई असर नहीं पड़ेगा. (I3513d)

गड़बड़ियां ठीक की गईं

  • नए प्लैटफ़ॉर्म एपीआई के ऐक्सेस की मैन्युअल रूप से जानकारी देने की सुविधा हटा दी गई है. ऐसा इसलिए किया गया है, क्योंकि AGP 7.3 या इसके बाद के वर्शन (उदाहरण के लिए, R8 वर्शन 3.3) के साथ R8 का इस्तेमाल करने पर, एपीआई मॉडलिंग की मदद से यह अपने-आप होता है. साथ ही, AGP 8.1 या इसके बाद के वर्शन (उदाहरण के लिए, D8 वर्शन 8.1) का इस्तेमाल करने पर, सभी बिल्ड के लिए यह अपने-आप होता है. जिन क्लाइंट ने AGP का इस्तेमाल नहीं किया है उन्हें D8 के 8.1 या उसके बाद के वर्शन पर अपडेट करने का सुझाव दिया जाता है. ज़्यादा जानकारी के लिए यह लेख देखें. (I9496c, b/345472586)
  • गतिविधि 1.9.2 से: एक समस्या को ठीक किया गया है. इसमें, Activity Compose PredictiveBackHandler एपीआई उस फ़्रेम पर सिस्टम के 'वापस जाएं' जेस्चर को मैनेज करता रहता था जिस पर इसे बंद किया गया था. इसकी वजह से, Navigation Compose जैसी लाइब्रेरी, खाली बैक स्टैक के साथ भी 'वापस जाएं' को मैनेज कर सकती थीं. इस वजह से, IndexOutOfBoundsException दिखता था. (Ie3301, b/340202286)
  • गतिविधि 1.9.1 से: PredictiveBackHandler से जुड़ी एक समस्या को ठीक किया गया. इसमें, सिस्टम को वापस लाने के बाद, OnBackPressedDispatcher से onBackPressed करने की कोशिश करने पर, गड़बड़ी आती थी. (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 रिलीज़ हो गए हैं. यह वर्शन, संगठन की किसी अंदरूनी शाखा में डेवलप किया गया है.

नई सुविधाएं

  • Android V में जोड़ी गई PhotoPicker की नई सुविधाओं के लिए सहायता जोड़ी गई है. इनमें, क्रम से इमेज चुनने और यह चुनने की सुविधा शामिल है कि शुरुआत में कौनसा टैब (एल्बम या इमेज) दिखे.

वर्शन 1.9

वर्शन 1.9.3

16 अक्टूबर, 2024

androidx.activity:activity:1.9.3, androidx.activity:activity-compose:1.9.3, और androidx.activity:activity-ktx:1.9.3 रिलीज़ हो गए हैं. वर्शन 1.9.3 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • हैंडलर बंद होने के बाद, PredictiveBackHandler अपना कॉलबैक ट्रिगर नहीं करेगा. इससे, नेविगेशन कंपोज़ से NavHost को IndexOutOfBoundsException के तौर पर इस्तेमाल करने से जुड़ी समस्या ठीक हो जाएगी. (I3f75e, b/340202286)

वर्शन 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 में ये lthcocommits शामिल हैं.

गड़बड़ियां ठीक की गईं

  • एक समस्या को ठीक किया गया है. इसमें, Activity Compose PredictiveBackHandler API उस फ़्रेम पर सिस्टम के बैक जेस्चर को मैनेज करता रहता था जिस पर इसे बंद किया गया था. इसकी वजह से, Navigation Compose जैसी लाइब्रेरी, खाली बैक स्टैक के साथ भी बैक को मैनेज कर सकती थीं. इस वजह से, 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 से जुड़ी एक समस्या को ठीक किया गया है. इसमें सिस्टम को वापस ले जाने के बाद, OnBackPressedDispatcher से onBackPressed करने की कोशिश करने पर, वह काम नहीं करता था. (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 को लागू करता है, ताकि कॉम्पोनेंट onUserLeaveHint इवेंट के लिए कॉलबैक कर सकें.
  • OnBackPressedCallback, BackHandler, और PredictiveBackHandler एपीआई, अब बैक बटन को हैंडल करते समय onBackPressedDispatcher.onBackPressed() को कॉल करने पर चेतावनी देते हैं. ऐसा इसलिए, क्योंकि इससे प्रिडिक्टिव बैक ऐनिमेशन हमेशा बंद हो जाएगा. ज़्यादा जानकारी के लिए, सबसे सही तरीके बताने वाली गाइड देखें.
  • बाकी बचे Activity 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)
  • बैकग्राउंड थ्रेड से पहली बार ComponentActivity से onBackPressedDispatcher को ऐक्सेस करते समय क्रैश होने की समस्या को ठीक किया गया. अब किसी भी थ्रेड पर 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 वर्शन में ये बदलाव शामिल हैं.

Kotlin कन्वर्ज़न

  • ActivityResultRegistry को Kotlin में फिर से लिखा गया है. इससे यह पक्का होता है कि register को दिए गए कॉन्ट्रैक्ट में मौजूद, सामान्य वैल्यू के लिए शून्य होने की वैल्यू, आपको वापस किए गए ActivityResultLauncher में सही तरीके से भेजी जाएगी. (I121f0)
  • ActivityResult को Kotlin में फिर से लिखा गया है. ActivityResult Kotlin एक्सटेंशन, resultCode और data फ़ील्ड में डेस्ट्रक्चर करने की सुविधा देते हैं. इन्हें activity-ktx से activity में ले जाया गया है. (I0565a)
  • ComponentActivity और trackPipAnimationHintView के लिए, by viewModels() के Kotlin एक्सटेंशन को activity-ktx से activity में ले जाया गया है. activity-ktx आर्टफ़ैक्ट अब पूरी तरह से खाली है. (I0a444)

गड़बड़ियां ठीक की गईं

  • enableEdgeToEdge एपीआई अब किसी भी डिसप्ले कटआउट के आस-पास ड्रॉ करता है. (a3644b, b/311173461)
  • गतिविधि 1.8.2 से: फ़ोटो पिकर ऐक्टिविटी कॉन्ट्रैक्ट के ACTION_SYSTEM_FALLBACK_PICK_IMAGES में पास की गई अतिरिक्त वैल्यू को ठीक किया गया. इससे, "com.google.android.gms.provider.extra.PICK_IMAGES_MAX" बटन के साथ अतिरिक्त वैल्यू का इस्तेमाल करने के बजाय, EXTRA_SYSTEM_FALLBACK_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 को लागू करता है, ताकि कॉम्पोनेंट onUserLeaveHint इवेंट के लिए कॉलबैक कर सकें. (I54892)

एपीआई में हुए बदलाव

  • ComponentActivity को Kotlin में फिर से लिखा गया है. (I14f31)
  • ActivityResultCaller को Kotlin में फिर से लिखा गया है. (Ib02e4)
  • ActivityResultLauncher को Kotlin में फिर से लिखा गया है. इस कन्वर्ज़न के तहत, getContract तरीका अब एक एब्स्ट्रैक्ट Kotlin प्रॉपर्टी है. यह बदलाव, बाइनरी के साथ काम करता है. हालांकि, अगर ActivityResultLauncher को Kotlin में लागू किया गया है, तो यह सोर्स को तोड़ सकता है. (Id4615)
  • PickVisualMediaRequest के लिए, अब एपीआई लेवल 19 की ज़रूरी शर्त है. यह वही लेवल है जो 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 में पास की गई अतिरिक्त जानकारी को ठीक किया गया है. इससे, "com.google.android.gms.provider.extra.PICK_IMAGES_MAX" कुंजी के साथ अतिरिक्त जानकारी का इस्तेमाल करने के बजाय, EXTRA_SYSTEM_FALLBACK_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 Composable के साथ भी आता है, ताकि Activity Compose में, अनुमानित बैक जेस्चर इवेंट को मैनेज किया जा सके. यह 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() को अब हटा दिया गया है. इसके बजाय, बैक हैंडलिंग के लिए एपीआई का इस्तेमाल किया जा सकता है. डेवलपर को अब इस तरीके को ओवरराइड करने के बजाय, 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 Composable जोड़ा गया है. इससे, अनुमानित बैक जेस्चर इवेंट को मैनेज किया जा सकता है. यह BackEventCompat ऑब्जेक्ट का Flow दिखाता है. आपको इन ऑब्जेक्ट को, दिए गए निलंबित किए गए 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)

  • ComponentActivity में मौजूद onBackPressedDispatcher को अब धीरे-धीरे शुरू किया जाता है, ताकि यह सिर्फ़ ज़रूरत पड़ने पर बनाया जाए. (I0bf8e)

गड़बड़ियां ठीक की गईं

  • ComponentActivity को onBackPressed() कॉलबैक मिलने और गतिविधि पहले से ही DESTROYED होने पर, Android 13 पर अब एनपीई नहीं दिखेगा. (Idb055, b/291869278)
  • एक्सपेरिमेंट के तौर पर उपलब्ध isAtLeastU() API (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 अब, अनुमानित बैक जेस्चर के दौरान हटाए गए सभी कॉलबैक को सही तरीके से रद्द कर देता है. (I3f90f)

एपीआई में हुए बदलाव

  • enableEdgeToEdge एपीआई को SystemBarStyle.auto पास करते समय, अब 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 रिलीज़ हो गए हैं. यह वर्शन, संगठन की किसी अंदरूनी शाखा में डेवलप किया गया है.

एपीआई में हुए बदलाव

  • Activity अब BackEventCompat क्लास उपलब्ध कराती है, जो BackEvent के पुराने सिस्टम के साथ काम करने वाले वर्शन के तौर पर काम करती है. यह फ़्रेमवर्क BackEvent क्लास से अलग होती है.
  • बड़े बदलाव: OnBackPressedCallback के handleOnBackStarted और handleOnBackProgressed तरीकों को अब फ़्रेमवर्क android.window.BackEvent क्लास के बजाय androidx.activity.BackEventCompat इंस्टेंस मिलता है. OnBackPressedDispatcher पर मौजूद, @VisibleForTesting के बराबर के एपीआई भी अपडेट कर दिए गए हैं.
  • OnBackPressedDispatcher के कंस्ट्रक्टर में अब एक वैकल्पिक Consumer<Boolean> इंस्टेंस होता है. इससे डिस्पैचर के मालिकों को कॉलबैक मिलता है. ऐसा तब होता है, जब चालू किए गए कॉलबैक की संख्या शून्य से किसी दूसरी संख्या पर या किसी दूसरी संख्या से शून्य पर बदलती है.

गड़बड़ियां ठीक की गईं

  • ऐक्टिविटी 1.7.2 से: report को कॉल करने से पहले, किसी स्क्रीन से नेविगेट करने पर ReportDrawn के क्रैश होने की समस्या को ठीक करें. (Ic46f1, b/260506820)

वर्शन 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 रिलीज़ हो गए हैं. इसे किसी इंटरनल शाखा से रिलीज़ किया गया था.

गड़बड़ियां ठीक की गईं

  • Activity 1.7.1 में: - ActivityScenario के साथ ComponentActivity का इस्तेमाल करने पर, ReportFullyDrawExecuter अब लीक नहीं होता. (Id2ff2, b/277434271)

वर्शन 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() जोड़ा गया है. यह सुविधा, पुराने सिस्टम के साथ काम करती है.

एपीआई में हुए बदलाव

  • ComponentActivity.onBackPressed() को अब हटा दिया गया है. इसके बजाय, बैक हैंडलिंग के लिए एपीआई का इस्तेमाल किया जा सकता है. डेवलपर को अब इस तरीके को ओवरराइड करने के बजाय, OnBackPressedDispatcher का इस्तेमाल करना चाहिए. (Ibce2f, b/271596918)
  • ComponentDialog और ComponentActivity में अब सार्वजनिक एपीआई initViewTreeOwners() शामिल है. इसका इस्तेमाल, कॉन्टेंट व्यू सेट करने से पहले, व्यू ट्री के सभी मालिकों को शुरू करने के लिए किया जाता है. (Ibdce0, b/261314581)

गड़बड़ियां ठीक की गईं

  • एक समस्या को ठीक किया गया है. इस समस्या की वजह से, फ़्रैगमेंट, मेन्यूहोस्ट को गलत तरीके से अमान्य कर रहे थे. इस वजह से, गतिविधि में मौजूद अन्य मेन्यू का व्यवहार अनचाहा हो रहा था. (I9404e, b/244336571)

अन्य बदलाव

  • ActivityResultRegister अब Java के बजाय Kotlin Random का इस्तेमाल करता है. (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 क्लास में अब, बैक जेस्चर शुरू होने, जेस्चर के दौरान होने वाली प्रोग्रेस, और बैक जेस्चर रद्द होने की जानकारी देने वाले नए कॉलबैक शामिल हैं. साथ ही, बैक जेस्चर होने पर मिलने वाले पिछले 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 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • report को कॉल करने से पहले किसी स्क्रीन से बाहर निकलने पर, ReportDrawn के क्रैश होने की समस्या को ठीक करें. (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 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • ActivityScenario के साथ ComponentActivity का इस्तेमाल करने पर, ReportFullyDrawExecuter अब लीक नहीं होता. (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 डिवाइसों और एपीआई लेवल की एक बड़ी रेंज पर फ़ोटो पिकर का एक जैसा अनुभव दे पाएंगे. अगर यह फ़ॉलबैक उपलब्ध होगा, तो फ़ोटो पिकर इसका इस्तेमाल करेगा. इसके बाद, यह Intent.ACTION_OPEN_DOCUMENT का इस्तेमाल करेगा. Intent.ACTION_OPEN_DOCUMENT, एपीआई 19 और उसके बाद के वर्शन वाले सभी डिवाइसों पर काम करता है.
  • ComponentDialog अब SavedStateRegistryOwner लागू करता है और उसके पास अपने SavedStateRegistry का ऐक्सेस होता है. साथ ही, वह अपने ViewTree के लिए SavedStateRegistryOwner सेट करता है. अब ComponentDialog में Jetpack Compose का इस्तेमाल किया जा सकता है, क्योंकि यह ViewTree एपीआई की ज़रूरी शर्तों के ज़रिए, विंडो से जुड़े LifecycleOwner और SavedStateRegistryOwner, दोनों को पूरा करता है.
  • IntentSenderRequest.Builder.setFlags() की मदद से, अब Intent से एक से ज़्यादा फ़्लैग सेट किए जा सकते हैं.

Kotlin कन्वर्ज़न

कई गतिविधि क्लास को 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

FullyDrawnReporter API

ComponentActivity अब FullyDrawnReporter इंस्टेंस उपलब्ध कराता है. इससे कई कॉम्पोनेंट, इंटरैक्शन के लिए तैयार होने पर रिपोर्ट कर सकते हैं. ComponentActivity आपकी ओर से reportFullyDrawn() को कॉल करने से पहले, सभी कॉम्पोनेंट के पूरा होने का इंतज़ार करेगा. ये एपीआई, समय से जुड़ी ज़रूरी शर्तों को पूरा करते हैं. साथ ही, इन्हें onDraw कॉल के हिस्से के तौर पर कॉल करने की ज़रूरत नहीं होती.

इन एपीआई को चालू करने का सुझाव दिया जाता है:

  • स्टार्टअप पूरा होने पर, Android Runtime को सिग्नल भेजना. इससे यह पक्का होता है कि मल्टी-फ़्रेम स्टार्टअप क्रम के दौरान चलाया गया सारा कोड शामिल हो और बैकग्राउंड कंपाइलेशन के लिए प्राथमिकता दी गई हो.
  • जब आपके ऐप्लिकेशन को स्टार्टअप मेट्रिक के लिए पूरी तरह से तैयार माना जाना चाहिए, तब मैक्रोबेंचमार्क और Play की ज़रूरी जानकारी देने वाली सुविधा को सिग्नल भेजना, ताकि परफ़ॉर्मेंस को ट्रैक किया जा सके.

अलग-अलग कॉम्पोज़ेबल से FullyDrawnReporter का इस्तेमाल आसानी से करने के लिए, तीन Activity Compose API जोड़े गए हैं:

  • 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 वर्शन में ये बदलाव शामिल हैं.

डिपेंडेंसी अपडेट करना

  • अब गतिविधि Lifecycle 2.6.0 पर निर्भर करती है.

वर्शन 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 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • MediaStore.ACTION_PICK_IMAGES के उपलब्ध न होने पर, PickVisualMedia और PickMultipleVisualMedia कॉन्ट्रैक्ट में फ़ॉलबैक के तौर पर इस्तेमाल की जाने वाली कार्रवाई और एक्सट्रा, अब सार्वजनिक कॉन्स्टेंट हैं. ये कॉन्स्टेंट, OEM और सिस्टम ऐप्लिकेशन को एपीआई की स्थिरता देते हैं, ताकि वे फ़ोटो पिकर का बेहतर अनुभव दे सकें. फ़ॉलबैक मोड को अब भी सिर्फ़ सिस्टम ऐप्लिकेशन के लिए लागू किया गया है. (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)

Kotlin कन्वर्ज़न

  • ActivityResultRegistryOwner अब Kotlin में लिखा गया है. Kotlin में लिखी गई क्लास के लिए, यह सोर्स के साथ काम न करने वाला बदलाव है. अब आपको पिछले getActivityResultRegistry() फ़ंक्शन को लागू करने के बजाय, activityResultRegistry प्रॉपर्टी को बदलना होगा. (I0b00e)
  • OnBackPressedDispatcherOwner अब Kotlin में लिखा गया है. Kotlin में लिखी गई क्लास के लिए, यह सोर्स के साथ काम न करने वाला बदलाव है. अब आपको पिछले getOnBackPressedDispatcher फ़ंक्शन को लागू करने के बजाय, onBackPressedDispatcher प्रॉपर्टी को बदलना होगा. (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 services के फ़ोटो पिकर का इस्तेमाल करेंगे.हालांकि, ऐसा सिर्फ़ उन मामलों में होगा जहां Android सिस्टम का फ़ोटो पिकर उपलब्ध हो. उदाहरण के लिए, MediaStore.ACTION_PICK_IMAGES) उपलब्ध नहीं है. isPhotoPickerAvailable() API को बंद कर दिया गया है. यह सिर्फ़ Android सिस्टम में मौजूद फ़ोटो पिकर का पता लगाता था. हमारा सुझाव है कि नए 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 का ऐक्सेस होता है. साथ ही, वह अपने ViewTree के लिए SavedStateRegistryOwner सेट करता है. अब ComponentDialog में Jetpack Compose का इस्तेमाल किया जा सकता है, क्योंकि यह ViewTree APIs की ज़रूरी शर्तों के ज़रिए, विंडो से जुड़े LifecycleOwner और SavedStateRegistryOwner, दोनों को पूरा करता है. (Idca17, I73468 b/261162296)

एपीआई में हुए बदलाव

  • ReportDrawn कॉम्पोज़ेबल जोड़ा गया है, जो गतिविधि को तुरंत कॉल करने के लिए तैयार के तौर पर मार्क करता है reportFullyDrawn. (Ic5b14, b/259687964)

Kotlin कन्वर्ज़न

  • 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 से: maxItems की डिफ़ॉल्ट वैल्यू का इस्तेमाल करने पर, Android R डिवाइसों पर PickMultipleVisualMedia ऐक्टिविटी के नतीजे का अनुबंध लॉन्च न होने की समस्या को ठीक किया गया. (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 वर्शन में ये बदलाव शामिल हैं.

FullyDrawnReporter API

ComponentActivity अब FullyDrawnReporter इंस्टेंस उपलब्ध कराता है. इससे कई कॉम्पोनेंट, इंटरैक्शन के लिए तैयार होने पर रिपोर्ट कर सकते हैं. ComponentActivity आपकी ओर से reportFullyDrawn() को कॉल करने से पहले, सभी कॉम्पोनेंट के पूरा होने का इंतज़ार करेगा. ये एपीआई, समय से जुड़ी ज़रूरी शर्तों को पूरा करते हैं. साथ ही, इन्हें onDraw कॉल के हिस्से के तौर पर कॉल करने की ज़रूरत नहीं होती.

इन एपीआई को चालू करने का सुझाव दिया जाता है:

  • स्टार्टअप पूरा होने पर, Android Runtime को सिग्नल भेजना. इससे यह पक्का होता है कि मल्टी-फ़्रेम स्टार्टअप क्रम के दौरान चलाया गया सारा कोड शामिल हो और बैकग्राउंड कंपाइलेशन के लिए प्राथमिकता दी गई हो.
  • जब आपके ऐप्लिकेशन को स्टार्टअप मेट्रिक के लिए पूरी तरह से तैयार माना जाना चाहिए, तब मैक्रोबेंचमार्क और Play की ज़रूरी जानकारी देने वाली सुविधा को सिग्नल भेजना, ताकि परफ़ॉर्मेंस को ट्रैक किया जा सके.

अलग-अलग कॉम्पोज़ेबल से FullyDrawnReporter का इस्तेमाल आसानी से करने के लिए, दो Activity Compose API जोड़े गए हैं:

  • 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 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • maxItems की डिफ़ॉल्ट वैल्यू का इस्तेमाल करने पर, Android R डिवाइसों पर PickMultipleVisualMedia गतिविधि के नतीजे का अनुबंध लॉन्च न होने की समस्या को ठीक किया गया. (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 का इस्तेमाल किया जाता है.
  • Android 13 में OnBackInvokedCallback को ComponentActivity और ComponentDialog की ओर से दिए गए OnBackPressedDispatchers में इंटिग्रेट किया गया. इससे यह पक्का होता है कि 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_OVERLAY के बजाय PRIORITY_DEFAULT के साथ रजिस्टर करता है. (I3901f)
  • ComponentActivity को एक्सटेंड करने वाली क्लास के लिए, अब हमेशा दोनों onMultiWindowModeChanged() कॉलबैक डिस्पैच किए जाएंगे. (Ic4d85)
  • जब launch कॉल से कोई Exception मिलता है और कॉलबैक को LifecycleOwner के बिना रजिस्टर किया गया है, तो ActivityResultRegistry, ActivityResultCallback को कोई नतीजा नहीं दिखाएगा. (Ia7ff7, b/238350794)
  • ComponentActivity अब आपकी गतिविधि में सुपर फ़ंक्शन को कॉल किए बिना, मेन्यू कॉल को सही तरीके से डिस्पैच करेगा. (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 वर्शन में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • SDK टूल के 33 से पहले के वर्शन का इस्तेमाल करने पर, OnBackPressedDispatcher को शुरू करने से अब ClassVerificationError नहीं दिखेंगे. (Ic32e1)
  • ComponentActivity के onPictureInPictureModeChanged() कॉलबैक को बदलने वाली क्लास के लिए, अब हमेशा कॉलबैक डिस्पैच किए जाएंगे. (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 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • ComponentActivity पर, इस्तेमाल नहीं किए जाने वाले startActivityForResult और startIntentSenderForResult तरीकों को @NonNull के साथ मार्क किया गया है. ऐसा इसलिए किया गया है, क्योंकि null को पास करने पर हमेशा क्रैश होता है. (Id2a25, b/231476082)

गड़बड़ियां ठीक की गईं

  • गतिविधि 1.5.1 से: जब launch कॉल किसी भी तरह का Exception दिखाता है और कॉलबैक को LifecycleOwner के बिना रजिस्टर किया गया था, तो ActivityResultRegistry अब ActivityResultCallback को नतीजा नहीं दिखाएगा. (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 को रिलीज़ से पहले की निजी शाखा में डेवलप किया गया था. इसमें कोई सार्वजनिक कमिट नहीं है.

एपीआई में हुए बदलाव

  • Tiramisu Beta 3 SDK के साथ अलाइन करने के लिए, minCompileSdk अब 33 है

गड़बड़ियां ठीक की गईं

  • PickVisualMedia ActivityResultContract के लिए SDK टूल के एक्सटेंशन की जांच करते समय, पुराने डिवाइसों पर क्रैश होने की समस्या को ठीक किया गया है. इससे, यह अब Android 10 और उससे पहले के वर्शन पर ACTION_OPEN_DOCUMENT के साथ काम करेगा.

वर्शन 1.6.0-alpha04

18 मई, 2022

androidx.activity:activity:1.6.0-alpha04 और androidx.activity:activity-ktx:1.6.0-alpha04 रिलीज़ हो गए हैं.

गड़बड़ियां ठीक की गईं

वर्शन 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 रिलीज़ हो गए हैं.

  • ध्यान दें: यह वर्शन सिर्फ़ Android 13 Developer Beta 1 SDK के साथ काम करेगा.

नई सुविधाएं

  • पुराने सिस्टम के साथ काम करने वाला कानूनी समझौता उपलब्ध कराने के लिए, ActivityResultContracts.PickVisualMedia और ActivityResultContracts.PickMultipleVisualMedia जोड़े गए हैं. फ़ोटो पिकर उपलब्ध होने पर, MediaStore.ACTION_PICK_IMAGES का इस्तेमाल किया जाता है और उपलब्ध न होने पर Intent.ACTION_OPEN_DOCUMENT का इस्तेमाल किया जाता है.
  • Android 13 के डेवलपर बीटा वर्शन 1 में मौजूद OnBackInvokedCallback को, ComponentActivity की ओर से उपलब्ध कराए गए OnBackPressedDispatcher में इंटिग्रेट किया गया. इससे यह पक्का होता है कि 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 रिलीज़ हो गए हैं.

  • ध्यान दें: यह वर्शन सिर्फ़ Android 13 के डेवलपर प्रीव्यू 2 SDK टूल के साथ काम करेगा.

नई सुविधाएं

  • Android 13 के डेवलपर प्रीव्यू 2 में किए गए बदलावों को ComponentActivity में इंटिग्रेट किया गया है.

संस्‍करण 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 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • जब launch() कॉल से कोई Exception मिलता है और कॉलबैक को LifecycleOwner के बिना रजिस्टर किया गया है, तो ActivityResultRegistry, ActivityResultCallback को कोई नतीजा नहीं दिखाएगा. (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 के बाद किए गए ज़रूरी बदलाव

  • ComponentDialog - ComponentDialog, Dialog का सबक्लास है. इसमें एक OnBackPressedDispatcher शामिल होता है, जिसे सिस्टम के 'वापस जाएं' बटन को दबाने और डायलॉग दिखने पर कॉल किया जाएगा. अहम बात यह है कि यह सबक्लास ViewTreeOnBackPressedDispatcherOwner भी सेट करता है. इससे व्यू को सही डिस्पैचर को वापस पाने का सामान्य तरीका मिलता है, भले ही वह ComponentActivity या ComponentDialog में मौजूद हो.
  • कॉलबैक इंटरफ़ेस - ComponentActivity अब मॉड्यूलर कॉलबैक इंटरफ़ेस का एक सेट लागू करता है. इसका इस्तेमाल, Activity कॉलबैक के बजाय किया जा सकता है. इन इंटरफ़ेस में ये शामिल हैं: OnNewIntentProvider, OnConfigurationChangedProvider, OnTrimMemoryProvider, OnPictureInPictureModeChangedProvider, OnMultiWindowModeChangedProvider
  • CreationExtras इंटिग्रेशन - ComponentActivity अब लाइफ़साइकल 2.5.0 के CreationExtras की मदद से, स्टेटलेस ViewModelProvider.Factory उपलब्ध करा सकता है.

दूसरे बदलाव

  • ActivityResultContracts.CreateDocument के लिए, बिना पैरामीटर वाले कंस्ट्रक्टर को बंद कर दिया गया है और उसे एक नए कंस्ट्रक्टर से बदल दिया गया है. यह कंस्ट्रक्टर, कोई खास एमआईएम टाइप (उदाहरण के लिए, "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 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • ComponentActivity का onPanelClosed() अब सुपर 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 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • अब 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 के साथ इंटिग्रेट हो गया है. इसे लाइफ़साइकल 2.5.0-alpha01 के हिस्से के तौर पर लॉन्च किया गया था. (Ie7e00, b/207012584)
  • ComponentDialog जोड़ा गया, जो Dialog का एक सबक्लास है. इसमें एक OnBackPressedDispatcher शामिल है, जिसे डायलॉग दिखने पर, सिस्टम के 'वापस जाएं' बटन को दबाने पर कॉल किया जाएगा. अहम बात यह है कि यह सबक्लास, ViewTreeOnBackPressedDispatcherOwner को भी सेट करता है. इससे व्यू को सही डिस्पैचर को वापस पाने का सामान्य तरीका मिलता है, चाहे वह ComponentActivity में मौजूद हो या ComponentDialog में. (I8a1bc)
  • ComponentActivity अब नया OnNewIntentProvider इंटरफ़ेस लागू करता है, ताकि किसी भी कॉम्पोनेंट को ये इवेंट मिल सकें. (If1f8b)
  • ComponentActivity अब नया OnConfigurationChangedProvider इंटरफ़ेस लागू करता है, ताकि किसी भी कॉम्पोनेंट को ये इवेंट मिल सकें. (If623b)
  • ComponentActivity अब नया OnTrimMemoryProvider इंटरफ़ेस लागू करता है, ताकि किसी भी कॉम्पोनेंट को ये इवेंट मिल सकें. (Ia9295)

एपीआई में हुए बदलाव

  • ActivityResultContracts.CreateDocument के लिए, बिना पैरामीटर वाले कंस्ट्रक्टर का इस्तेमाल बंद कर दिया गया है.साथ ही, इसे एक नए कंस्ट्रक्टर से बदल दिया गया है. यह कंस्ट्रक्टर, कॉन्क्रीट MIME टाइप (उदाहरण के लिए, "image/png") को Intent.ACTION_CREATE_DOCUMENT के मुताबिक सेट किया गया है. (I2bec6)
  • किसी व्यू से जुड़े OnBackPressedDispatcherOwner को अब Context को कास्ट करने के बजाय, ViewTreeOnBackPressedDispatcherOwner की मदद से वापस पाया जा सकता है. (I74685)

गड़बड़ियां ठीक की गईं

  • registerForActivityResult() कॉलबैक से पहली बार ViewModel को ऐक्सेस करते समय क्रैश होने की समस्या को ठीक किया गया. साथ ही, ComponentActivity के init के हिस्से के तौर पर जोड़े गए LifecycleObserver के कॉलबैक को ऐक्सेस करते समय क्रैश होने की समस्या को भी ठीक किया गया. (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 इंटरफ़ेस लागू करता है. इससे, किसी भी कॉम्पोनेंट को गतिविधि में MenuProvider इंस्टेंस जोड़कर, ActionBar में मेन्यू आइटम जोड़ने की अनुमति मिलती है. हर MenuProvider को Lifecycle के साथ जोड़ा जा सकता है. यह Lifecycle की स्थिति के आधार पर, मेन्यू आइटम के दिखने की सेटिंग को अपने-आप कंट्रोल करेगा. साथ ही, Lifecycle के खत्म होने पर MenuProvider को हटाने की प्रोसेस को मैनेज करेगा.
  • ActivityResultContract क्लास को Kotlin में फिर से लिखा गया है, ताकि यह पक्का किया जा सके कि Kotlin में कस्टम कॉन्ट्रैक्ट लिखने वाले डेवलपर, अपनी इनपुट और आउटपुट क्लास के लिए, वैल्यू न होने की सही स्थिति तय कर सकें.
  • ActivityResultContracts क्लास और उसके कॉन्ट्रैक्ट को Kotlin में फिर से लिखा गया है, ताकि यह पक्का किया जा सके कि वैल्यू शून्य हो सकती है या नहीं.

वर्शन 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 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • जब launch कॉल में कोई Exception मिलता है, तो ActivityResultRegistry, ActivityResultCallback को कोई नतीजा नहीं दिखाएगा. (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 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • ActivityResultContracts.OpenMultipleDocuments और ActivityResultContracts.GetMultipleContents के टाइप को ठीक किया गया. इस वजह से, Java प्रोग्रामिंग भाषा के कोड का इस्तेमाल करते समय, List<? extends Uri> के आउटपुट टाइप का इस्तेमाल किया गया. (If71de)
  • Kotlin का इस्तेमाल करते समय, ActivityResultContracts.StartActivityForResult, ActivityResultContracts.StartIntentSenderForResult, और ActivityResultContracts.RequestMultiplePermissions क्लास में मौजूद सार्वजनिक कॉन्स्टेंट को अब उनके सार्वजनिक Companion ऑब्जेक्ट के ज़रिए ऐक्सेस किया जा सकता है. (aosp/1832555)

दस्तावेज़ से जुड़े अपडेट

  • 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 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • activity-compose आर्टफ़ैक्ट में अब LaunchDuringComposition लिंट गड़बड़ी है. इस वजह से, कंपोज़िशन के हिस्से के तौर पर ActivityResultLauncher के launch तरीके को कॉल नहीं किया जा सकता. ऐसा इसलिए, क्योंकि कंपोज़िशन में कोई साइड-इफ़ेक्ट नहीं होना चाहिए. साइड इफ़ेक्ट को मैनेज करने के लिए एपीआई का इस्तेमाल करें. (7c2bbe, b/191347220)

एपीआई में हुए बदलाव

  • 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 इंटरफ़ेस लागू करता है.. इससे, किसी भी कॉम्पोनेंट को गतिविधि में MenuProvider इंस्टेंस जोड़कर, ActionBar में मेन्यू आइटम जोड़ने की अनुमति मिलती है. हर MenuProvider को Lifecycle के साथ जोड़ा जा सकता है. यह Lifecycle की स्थिति के आधार पर, मेन्यू आइटम के दिखने की सेटिंग को अपने-आप कंट्रोल करेगा. साथ ही, Lifecycle के खत्म होने पर MenuProvider को हटाने की प्रोसेस को मैनेज करेगा. (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 अब ActivityResultLauncher पर launch() को कॉल करने की कोशिश करने पर, IllegalStateException दिखाएगा. ऐसा तब होगा, जब ActivityResultLauncher को रजिस्टर नहीं किया गया हो या उसे अनरजिस्टर कर दिया गया हो. (Ida75d, b/192567522)

बाहरी योगदान

  • ActivityResult दस्तावेज़ में टाइपिंग की गलती को ठीक करने के लिए, dmitrilc को धन्यवाद. (#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 पर निर्भर करती है.
  • गतिविधि लिखने की सुविधा अब Compose 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 आर्टफ़ैक्ट - activity-compose आर्टफ़ैक्ट, किसी गतिविधि में Jetpack Compose यूज़र इंटरफ़ेस को होस्ट करने के लिए, setContent एक्सटेंशन का तरीका उपलब्ध कराता है. साथ ही, सिस्टम के 'वापस जाएं' बटन और Activity Result API को मैनेज करने के लिए, ComponentActivity एपीआई के साथ इंटरैक्ट करने के लिए Compose के खास रैपर उपलब्ध कराता है. ज़्यादा जानकारी के लिए, दस्तावेज़ देखें.
  • CaptureVideo कॉन्ट्रैक्ट - CaptureVideo ActivityResultContract, अब काम न करने वाले TakeVideo कॉन्ट्रैक्ट की जगह लेता है. साथ ही, यह एक बूलियन वैल्यू दिखाता है, जो कई कैमरा ऐप्लिकेशन पर काम करता है.
  • 'पिक्चर में पिक्चर' मोड के हिंट व्यू को ट्रैक करना - activity-ktx के उपयोगकर्ता अब Activity पर trackPipAnimationHintView एक्सटेंशन के तरीके का इस्तेमाल करके, 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 को 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 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • पहले इस्तेमाल किए जा रहे @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 में एक बोलियन वैल्यू दिखाता है. इससे पता चलता है कि आपका वीडियो, दिए गए यूआरआई में सेव हो गया है या नहीं. यह अब काम न करने वाले TakeVideo कॉन्ट्रैक्ट की जगह ले लेता है. ऐसा इसलिए है, क्योंकि कैमरा ऐप्लिकेशन बहुत कम ही थंबनेल बिटमैप दिखाते हैं. इससे नतीजा काम का नहीं होता. (Ie21f2, b/185938070)
  • जब भी व्यू में बदलाव होता है, तो PipParams के सोर्स रेक्ट के हिंट को अपडेट करने के लिए नया एपीआई Activity#setPipAnimationHintView जोड़ा गया है. (I9063d)

एपीआई में हुए बदलाव

  • rememberLauncherForActivityResult फ़ंक्शन अब ऐसा लॉन्चर दिखाता है जो unregister() फ़ंक्शन का इस्तेमाल नहीं करता. लॉन्चर को रजिस्टर और अनरजिस्टर करने की प्रोसेस, rememberLauncherForActivityResult अपने-आप मैनेज करता है. (I2443e)

Compose के साथ काम करने वाले डिवाइस

  • androidx.activity:activity-compose:1.3.0-alpha08 सिर्फ़ Compose के वर्शन 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)
  • 1.3.0 से ज़्यादा के अस्थिर वर्शन का इस्तेमाल करने पर, अब आपको 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 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • registerForActivityResult() एपीआई का नाम बदलकर rememberLauncherForActivityResult() कर दिया गया है, ताकि यह बेहतर तरीके से पता चल सके कि दिखाया गया ActivityResultLauncher एक मैनेज किया जाने वाला ऑब्जेक्ट है, जिसे आपकी ओर से याद रखा जाता है. unregister को कॉल करने पर, अब ActivityResultLauncher की वैल्यू के तौर पर गड़बड़ी का मैसेज दिखेगा. (I2bb6d)
  • LocalOnBackPressedDispatcherOwner.current और LocalActivityResultRegistryOwner.current अब ऐसी वैल्यू दिखाते हैं जिसे शून्य पर सेट किया जा सकता है. इससे यह तय करने में मदद मिलती है कि वह मौजूदा कॉम्पोज़िशन में उपलब्ध है या नहीं. जिन एपीआई के लिए इन एपीआई की ज़रूरत होती है, जैसे कि BackHandler और rememberLauncherForActivityResult(), अब उनमें मालिक का पता न चलने पर, ज़्यादा जानकारी वाली गड़बड़ी दिखेगी. NavHost अब तब भी काम करता है, जब OnBackPressedDispatcherOwner नहीं मिलता. ऐसा NavHost की झलक देखते समय होता है. (I7d8b4)

गड़बड़ियां ठीक की गईं

  • अगर ऐक्टिविटी STOPPED है, फिर STARTED है, और LifecycleOwner के साथ अन्य कॉलबैक जोड़े गए हैं, तो BackHandler अब बैक बटन को दबाने पर सही तरीके से काम करेगा. (I71de6, b/182284739)
  • launch() वाले तरीके के एक्सटेंशन को, Unit इनपुट वाले कस्टम ActivityResultContract के साथ इस्तेमाल करने पर, अब 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 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Activity 1.2.2 से: InvalidFragmentVersionForActivityResult लिंट की जांच में एक समस्या को ठीक किया गया है. इसकी वजह से, Fragment 1.3.1 या उसके बाद के वर्शन का इस्तेमाल करने पर, गलत तरीके से सही के तौर पर मार्क किया जा रहा था. (I54da1, b/182388985)
  • Activity 1.2.2 से: ComponentActivity अब किसी ऐसे ActivityResultContract से Intent लॉन्च करते समय ClassNotFoundException से बचता है जिसे पहले किसी दूसरे 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)
  • Activity Compose अब रनटाइम क्लासपाथ में जांच के लिए ज़रूरी डिपेंडेंसी नहीं जोड़ता. (Ifd8b3)
  • BackHandler से जुड़ी एक समस्या को ठीक किया गया है. इसमें, रीकंपोज़िशन के बाद भी, पहले से सेट किए गए 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)

एपीआई में हुए बदलाव

  • LocalOnBackPressedDispatcherOwner में अब provides फ़ंक्शन हैं. इनका इस्तेमाल CompositionLocalProvider के साथ किया जा सकता है. इससे 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 में एक समस्या को ठीक किया गया है. इसकी वजह से, लिखने की सुविधा 1.0.0-alpha12 का इस्तेमाल करते समय NoSuchMethodError: No static method setContent अपवाद दिखता था. Compose का इस्तेमाल करने वाले सभी लोगों को 1.3.0-alpha02 और उसके बाद के वर्शन का इस्तेमाल करना चाहिए. (b/179911234)

एपीआई में हुए बदलाव

  • BackHandler एपीआई का इस्तेमाल करके, Composable को सिस्टम के 'वापस जाएं' बटन को इंटरसेप्ट करने की अनुमति दी जा सकती है. (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 आर्टफ़ैक्ट, androidx.activity के खास एपीआई के लिए, Jetpack Compose के खास हेल्पर उपलब्ध कराता है.
    • ComponentActivity.setContent को androidx.compose.ui.platform.setContent से androidx.activity.compose.setContent में ले जाया गया है. (Icf416)

ऐसी समस्याएं जिनकी जानकारी पहले से है

  • Activity Compose 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 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Activity 1.3.0-rc02 से: ActivityResultRegistry कॉलबैक अब सही तरीके से सेव और वापस लाए जाते हैं, ताकि 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() वाले तरीके के एक्सटेंशन को, Unit इनपुट वाले कस्टम ActivityResultContract के साथ इस्तेमाल करने पर, अब NullPointerException नहीं दिखेगा (I76282, b/183837954)
  • फ़्रेगमेंट के नए वर्शन के स्नैपशॉट, ऐल्फ़ा, बीटा या आरसी बिल्ड का इस्तेमाल करते समय, आपको फ़्रेगमेंट 1.3.0 का इस्तेमाल करने के लिए कहने वाली गलत लिंट गड़बड़ी को ठीक किया गया है. (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 अब किसी ऐसे ActivityResultContract से Intent लॉन्च करते समय ClassNotFoundException को हटा देता है जिसे पहले किसी दूसरे 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 के बाद किए गए मुख्य बदलाव

  • Activity Result APIs: ComponentActivity अब एक ActivityResultRegistry उपलब्ध कराता है. इसकी मदद से, startActivityForResult()+onActivityResult() के साथ-साथ requestPermissions()+onRequestPermissionsResult() फ़्लो को भी मैनेज किया जा सकता है. इसके लिए, आपको अपनी गतिविधि या फ़्रैगमेंट में मौजूद तरीकों को बदलने की ज़रूरत नहीं है. साथ ही, ActivityResultContract की मदद से टाइप सेफ़्टी को बेहतर बनाया जा सकता है. इसके अलावा, इन फ़्लो की जांच करने के लिए हुक भी उपलब्ध कराए जाते हैं. गतिविधि से नतीजा पाना सेक्शन में अपडेट देखें.
  • ContextAware: ComponentActivity अब ContextAware लागू करता है. इससे, एक या उससे ज़्यादा OnContextAvailableListener इंस्टेंस जोड़े जा सकते हैं. इन इंस्टेंस को बेस Activity.onCreate() से पहले कॉलबैक मिलेगा.

    • सस्पेंड करने वाले Kotlin एक्सटेंशन withContextAvailable() की मदद से, कॉन्टेक्स्ट उपलब्ध होने पर नतीजा दिखाने वाला ब्लॉक चलाया जा सकता है.
    • FragmentManager की स्थिति को वापस लाने के लिए, FragmentActivity Fragment 1.3.0 में इस एपीआई का इस्तेमाल करता है. FragmentActivity के सबक्लास में जोड़े गए सभी लिसनर, उस लिसनर के बाद चलेंगे.
    • AppCompatActivity, AppCompat 1.3.0-alpha02 या इसके बाद के वर्शन में इस एपीआई का इस्तेमाल करता है. AppCompatActivity के सबक्लास में जोड़े गए सभी लिसनर, उस लिसनर के बाद चलेंगे.
  • ViewTree सहायता: ComponentActivity अब Lifecycle 2.3.0 और SavedState 1.1.0 में जोड़े गए ViewTreeLifecycleOwner.get(View), ViewTreeViewModelStoreOwner.get(View), और ViewTreeSavedStateRegistryOwner एपीआई के साथ काम करता है. इससे, ComponentActivity में सीधे तौर पर जोड़े गए किसी भी व्यू के लिए, गतिविधि को LifecycleOwner, ViewModelStoreOwner, और SavedStateRegistryOwner के तौर पर दिखाया जाएगा.

  • reportFullyDrawn() बैकपोर्ट - reportFullyDrawn() के Activity तरीके को सभी एपीआई लेवल पर काम करने के लिए, ComponentActivity में बैकपोर्ट किया गया है. इससे एपीआई 19 पर क्रैश होने की समस्या ठीक हो गई है. साथ ही, सभी एपीआई लेवल के लिए इस तरीके के लिए ट्रैकिंग जोड़ी गई है.

वर्शन 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() की जगह ले लेता है. इससे इसे सभी एपीआई लेवल पर कॉल किया जा सकता है. साथ ही, एपीआई 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 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • एक समस्या को ठीक किया गया है. इस समस्या की वजह से, Lifecycle के साथ रजिस्टर होने पर, गतिविधि के नतीजे दिखाने से पहले, गतिविधि पूरी होने की प्रोसेस के STARTED होने का इंतज़ार नहीं किया जाता था. (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)

  • ActivityResultLauncher पर unregister() को कॉल करने पर, Lifecycle ऑब्ज़र्वर सही तरीके से हटा दिए जाते हैं. (b/165608393)

व्यवहार में बदलाव

  • ActivityResultRegistry अब LifecycleOwner के साथ register() को कॉल करने की कोशिश करते समय, IllegalStateException दिखाता है. ऐसा तब होता है, जब Lifecycle पहले से ही STARTED पर पहुंच चुका हो. (b/165435866)

दस्तावेज़ अपडेट किए गए

  • ContextAware दस्तावेज़, LifecycleOwner से लिंक होता है, ताकि 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)
    • FragmentActivity, FragmentManager की स्थिति को वापस लाने के लिए, Fragment 1.3.0-alpha08 में इस एपीआई का इस्तेमाल करता है. FragmentActivity के सबक्लास में जोड़े गए सभी लिसनर, उस लिसनर के बाद चलेंगे. (I513da)
    • AppCompatActivity, AppCompat 1.3.0-alpha02 में इस एपीआई का इस्तेमाल करता है. AppCompatActivity के सबक्लास में जोड़े गए सभी लिसनर, उस लिसनर के बाद चलेंगे. (I513da)

गड़बड़ियां ठीक की गईं

  • ActivityResultFragmentVersionDetector Lint की जांच से जुड़ी एक समस्या को ठीक किया गया है. इसकी वजह से, 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 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • Activity Result API का इस्तेमाल करते समय, फ़्रैगमेंट 1.3.0-alpha07 का इस्तेमाल किया जा रहा है, इसकी पुष्टि करने के लिए एक नई InvalidFragmentVersionForActivityResultलिंट जांच जोड़ी गई है. इससे, “अमान्य अनुरोध कोड” की समस्याओं की वजह से रनटाइम क्रैश से बचा जा सकता है. साथ ही, फ़्रैगमेंट के पुराने वर्शन का इस्तेमाल करने की वजह से, अनुमति के अनुरोध काम नहीं करने की समस्या से भी बचा जा सकता है. (b/152554847)

बाहरी योगदान

  • RequestPermission गतिविधि के नतीजे के समझौते के लिए नतीजों को पार्स करते समय, ArrayIndexOutOfBoundsException को ठीक किया गया. (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 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • अब Kotlin में ActivityResult क्लास को डिस्ट्रक्चर किया जा सकता है, ताकि requestCode और intent को सीधे ऐक्सेस किया जा सके. (b/157212935)
  • ActivityResultLauncher की मदद से, अब उस ActivityResultContract को वापस पाया जा सकता है जिसका इस्तेमाल लॉन्चर को रजिस्टर करने के लिए किया गया था. (b/156875743)

एपीआई में हुए बदलाव

  • बड़े बदलाव: ActivityResultRegistry पर invoke() तरीके का नाम बदलकर 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 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

एपीआई में हुए बदलाव

  • TakePicture कॉन्ट्रैक्ट अब थंबनेल Bitmap के बजाय boolean दिखाता है. इससे यह पता चलता है कि इमेज को Uri में सेव करने के दौरान, कैमरा ऐप्लिकेशन ने इमेज को सेव किया है. (b/154302879)
  • ActivityResultLauncher पर invoke() एक्सटेंशन हटा दिए गए हैं. इसके बजाय, launch() का साफ़ तौर पर इस्तेमाल किया गया है, ताकि यह बेहतर तरीके से पता चल सके कि ये एसिंक्रोनस ऑपरेशन हैं. ActivityResultLauncher<Void> और ActivityResultLauncher<Unit> के लिए androidx.activity.result पैकेज में, launch के लिए Kotlin एक्सटेंशन जोड़े गए हैं. इनकी मदद से, null या Unit को पास करने की ज़रूरत नहीं होती. ये एक्सटेंशन, पहले के invoke() एक्सटेंशन के व्यवहार को दोहराते हैं. (aosp/1304674, aosp/1304675)
  • setFlagsMask() और setFlagsValues() के लिए IntentSenderRequest.Builder के तरीकों को एक ही setFlags() तरीके में जोड़ दिया गया है. (aosp/1302111)

गड़बड़ियां ठीक की गईं

  • ActivityResultCallback को LifecycleOwner के साथ रजिस्टर करते समय, उस समस्या को ठीक किया गया है जिसमें स्टेटस STARTED पर पहुंचने से पहले ही कॉलबैक ट्रिगर हो जाता था. (aosp/1309744)

व्यवहार में बदलाव

  • ActivityResultRegistry अब अनुरोध कोड जनरेट करता है, जो 0 के बजाय 0xFFFF से शुरू होता है. इससे किसी गतिविधि में 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 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • एक ऐसा कॉन्ट्रैक्ट जोड़ा गया है जो ActivityResult API में startIntentSenderForResult को कॉल कर सकता है. (b/153007517)

एपीआई में हुए बदलाव

  • prepareCall() तरीके का नाम बदलकर registerForActivityResult() कर दिया गया है. यह नाम, यहां ComponentActivity और फ़्रैगमेंट 1.3.0-alpha04, दोनों पर लागू होता है. (aosp/1278717)
  • GetContents, OpenDocuments, और RequestPermissions कॉन्ट्रैक्ट का नाम बदलकर, क्रमशः GetMultipleContents, OpenMultipleDocuments, और RequestMultiplePermissions कर दिया गया है. (aosp/1280161)
  • ComponentActivity अब ActivityResultRegisteryOwner इंटरफ़ेस लागू करता है. (aosp/1290888)
  • - ComponentActivity पर startActivityForResult()/onActivityResult() और onRequestPermissionsResult() एपीआई का इस्तेमाल नहीं किया जा सकता. कृपया गतिविधि के नतीजे के एपीआई का इस्तेमाल करें. (b/154751887)

गड़बड़ियां ठीक की गईं

  • GetMultipleContents और OpenMultipleDocuments अनुबंधों का इस्तेमाल करके, किसी एक आइटम को चुनने पर, अब वह आपके कॉलबैक में सही तरीके से दिखता है. (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 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • ActivityResultContracts की ओर से पहले से बनाए गए कॉन्ट्रैक्ट के सेट में, TakeVideo, PickContact, GetContent, GetContents, OpenDocument, OpenDocuments, OpenDocumentTree, और CreateDocument कॉन्ट्रैक्ट जोड़े गए. (aosp/1262482, aosp/1266916, aosp/1268960)
  • गतिविधि के नतीजे के लिए उपलब्ध एपीआई, अब ActivityOptionsCompat के साथ नतीजे के लिए कोई गतिविधि शुरू करने की सुविधा देते हैं. हालांकि, ActivityOptionsCompat का इस्तेमाल करना ज़रूरी नहीं है. (b/151860054)

एपीआई में हुए बदलाव

  • TakePicture कॉन्ट्रैक्ट में अब Uri इनपुट दिया जाता है, ताकि यह तय किया जा सके कि इमेज को कहां सेव किया जाए. बिना किसी इनपुट वाले पिछले अनुबंध का नाम बदलकर TakePicturePreview कर दिया गया है. (aosp/1262482)
  • ActivityResultRegistry पर registerActivityResultCallback() के तरीके का नाम बदलकर register() कर दिया गया है. (aosp/1267621)
  • ActivityResultLauncher पर मौजूद dispose() तरीके का नाम बदलकर unregister() कर दिया गया है. साथ ही, ActivityResultRegistry पर मौजूद unregisterResultCallback() को हटा दिया गया है. (aosp/1267621)
  • ActivityResultContact के createIntent() तरीके में अब इनपुट के साथ-साथ Context भी शामिल होता है, ताकि साफ़ तौर पर इंटेंट बनाए जा सकें. (aosp/1238800)
  • ActivityResultContract, startActivityForResult को कॉल किए बिना नतीजा देने के लिए, अब getSynchronousResult() को बदल सकता है. RequestPermission और RequestPermissions समझौतों में इसका इस्तेमाल, अनुरोध की गई अनुमतियां पहले से ही दी जा चुकी होने पर, 'अनुमति दी गई' स्टेटस को सही तरीके से डिलीवर करने के लिए किया जाता है. (b/151110799)
  • पहले उपलब्ध Dial समझौते को हटा दिया गया है, क्योंकि Intent का इस्तेमाल startActivityForResult() के साथ नहीं किया जा सकता. (aosp/1266916)
  • गतिविधि के नतीजे से जुड़े कई एपीआई, अब final के तौर पर मार्क किए गए हैं. इसमें getActivityResultRegistry(), prepareCall() के तरीके, invoke() को छोड़कर ActivityResultRegistry के सभी तरीके, और ऐसे कई डिफ़ॉल्ट समझौते शामिल हैं जो वैकल्पिक सुविधाओं के साथ काम नहीं करते. (b/152439361)

गड़बड़ियां ठीक की गईं

  • कॉन्फ़िगरेशन में बदलाव के बाद, ऐसे कॉलबैक को नतीजे डिलीवर करने के दौरान ActivityResultRegistry में एक NullPointerException ठीक किया गया है जिसे अब तक फिर से रजिस्टर नहीं किया गया है. 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 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • ActivityResultRegistry: ComponentActivity अब एक ActivityResultRegistry उपलब्ध कराता है. इसकी मदद से, अपनी गतिविधि या फ़्रैगमेंट में मौजूद तरीकों को बदले बिना, startActivityForResult()+onActivityResult() के साथ-साथ requestPermissions()+onRequestPermissionsResult() फ़्लो को मैनेज किया जा सकता है. साथ ही, ActivityResultContract की मदद से टाइप सेफ़्टी को बेहतर बनाया जा सकता है. इसके अलावा, इन फ़्लो की जांच करने के लिए हुक भी उपलब्ध कराए जाते हैं. गतिविधि से नतीजा पाना सेक्शन में अपडेट देखें. (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 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • लाइफ़साइकल 2.3.0-alpha01 में जोड़े गए ViewTreeLifecycleOwner.get(View) एपीआई के लिए सहायता जोड़ी गई है, ताकि यह सीधे तौर पर ऐक्टिविटी में जोड़े गए किसी भी व्यू के लिए, ऐक्टिविटी को LifecycleOwner के तौर पर दिखाए. (aosp/1182955)

गड़बड़ियां ठीक की गईं

  • प्लैटफ़ॉर्म के पुराने वर्शन पर चलने के दौरान, गतिविधि 1.1.0 में हुई गिरावट को ठीक किया गया. इसकी वजह यह थी कि android.app.FragmentManager में मौजूद गड़बड़ी की वजह से, onBackPressed() से IllegalStateException बन जाता था. (b/146290338)

वर्शन 1.1.0

वर्शन 1.1.0

22 जनवरी, 2020

androidx.activity:activity:1.1.0 रिलीज़ हो गया है. 1.1.0 वर्शन में ये बदलाव शामिल हैं.

1.0.0 के बाद किए गए अहम बदलाव

  • लाइफ़साइकल ViewModel सेव की गई स्थिति का इंटिग्रेशन: SavedStateViewModelFactory अब डिफ़ॉल्ट फ़ैक्ट्री है. इसका इस्तेमाल by viewModels(), 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 और लाइफ़साइकल ViewModel सेव की गई स्थिति 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(), 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, फ़्रैगमेंट 1.1.0 में FragmentActivity के लिए नई बेस क्लास के तौर पर काम करती है. साथ ही, AppCompat 1.1.0 में AppCompatActivity के लिए भी काम करती है.
  • activity-ktx: activity-ktx मॉड्यूल में, ViewModels को ऐक्सेस करने के लिए by viewModels Kotlin प्रॉपर्टी एक्सटेंशन शामिल होता है. फ़्रैगमेंट 1.1.0 से fragment-ktx शामिल करने पर, यह मॉड्यूल अपने-आप शामिल हो जाता है.
  • OnBackPressedDispatcher: onBackPressed() को बदलने के लिए, अब किसी भी LifecycleOwner (जैसे, फ़्रैगमेंट) से OnBackPressedCallback को रजिस्टर किया जा सकता है. इससे, सिस्टम के बैक बटन के इवेंट को इंटरसेप्ट किया जा सकता है. activity-ktx में, रिसीप्टर वर्शन addCallback वाला एक लैम्ब्डा जोड़ा गया है. ज़्यादा जानकारी के लिए, पसंदीदा तरीके से वापस जाने की सुविधा के लिए दस्तावेज़ उपलब्ध कराएं लेख पढ़ें.
  • onRetainCustomNonConfigurationInstance बंद होने की जानकारी: onRetainCustomNonConfigurationInstance() और उससे जुड़े getLastCustomNonConfigurationInstance() एपीआई बंद कर दिए गए हैं. हमारा सुझाव है कि कॉन्फ़िगरेशन के अलावा अन्य स्टेटस को सेव करने के लिए, ViewModels का इस्तेमाल करें. ऐसा इसलिए, क्योंकि ये किसी भी ViewModelStoreOwner के लिए, कॉम्पोज़ करने लायक समाधान उपलब्ध कराते हैं. इससे, बनाए गए ऑब्जेक्ट का मालिकाना हक साफ़ तौर पर पता चलता है. साथ ही, ऐक्टिविटी के खत्म होने पर रिसॉर्स को हटाने के लिए, 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 रिलीज़ हो गए हैं. इस वर्शन में शामिल किए गए कमिट यहां देखे जा सकते हैं.

एपीआई में हुए बदलाव

  • अहम बदलाव: ComponentActivity पर पहले से काम न करने वाले addOnBackPressedCallback और removeOnBackPressedCallback तरीके हटा दिए गए हैं. aosp/953857
  • OnBackPressedCallback के setEnabled() और isEnabled() तरीके अब फ़ाइनल हैं. b/131416833
  • OnBackPressedCallback के लिए, remove() का तरीका अब फ़ाइनल है. aosp/952720
  • OnBackPressedDispatcher में अब सार्वजनिक कन्स्ट्रक्टर हैं. इनकी मदद से, जांच वगैरह के लिए अपने इंस्टेंस बनाए जा सकते हैं. aosp/953431
  • ComponentActivity के लिए onBackPressed() को अब साफ़ तौर पर @MainThread aosp/952721 के तौर पर मार्क किया गया है

गड़बड़ियां ठीक की गईं

  • LifecycleOwner के साथ जोड़े गए OnBackPressedCalback के handleOnBackPressed() तरीके से remove() को कॉल करते समय, ConcurrentModificationException को ठीक किया गया. b/131765095

वर्शन 1.0.0-alpha07

25 अप्रैल, 2019

androidx.activity:activity:1.0.0-alpha07 और androidx.activity:activity-ktx:1.0.0-alpha07 रिलीज़ हो गए हैं. इस वर्शन में शामिल किए गए कमिट यहां देखे जा सकते हैं.

एपीआई में हुए बदलाव

इस रिलीज़ में, onBackPressed() को मैनेज करने के तरीके में अहम बदलाव किए गए हैं. ज़्यादा जानकारी के लिए, अपडेट किया गया कस्टम बैक दस्तावेज़ देखें.

  • OnBackPressedCallback और OnBackPressedDispatcher के लिए इस्तेमाल किए गए तरीके, @MainThread के तौर पर मार्क किए गए हैं. (aosp/943813)
  • handleOnBackPressed() वाला तरीका अब boolean नहीं दिखाता. इसके बजाय, OnBackPressedCallback अब एक ऐसी एब्स्ट्रैक्ट क्लास है जिसे चालू या बंद किया जा सकता है. handleOnBackPressed() सिर्फ़ तब कॉल किया जाएगा, जब नया isEnabled() तरीका 'सही है' दिखाए. इसमें आपको 'वापस जाएं' बटन को मैनेज करना होगा. (aosp/944518)
  • OnBackPressedDispatcher के addCallback तरीके अब Cancellable इंस्टेंस नहीं दिखाते. OnBackPressedCallback में अब remove() का एक ऐसा तरीका है जो इस फ़ंक्शन को पूरा करता है. इससे, handleOnBackPressed() के दौरान remove() को कॉल किया जा सकता है. (aosp/944519) (aosp/946316)
  • activity-ktx में अब addCallback के लिए, रिसीवर के स्कोप वाला कॉलबैक है. यह 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 रिलीज़ हो गए हैं. इस वर्शन में शामिल किए गए कमिट यहां देखे जा सकते हैं.

एपीआई में हुए बदलाव

  • ComponentActivity में अब एक दूसरा कन्स्ट्रक्टर है, जो @LayoutRes int लेता है. यह आपकी AppCompatActivity क्लास को @ContentView के साथ एनोटेट करने के पिछले व्यवहार की जगह लेता है. यह तरीका, ऐप्लिकेशन और लाइब्रेरी मॉड्यूल, दोनों में काम करता है. (b/128352521)
  • ComponentActivity पर OnBackPressedCallback से जुड़े एपीआई को बंद कर दिया गया है. अब OnBackPressedDispatcher का इस्तेमाल किया जा सकता है. इसे getOnBackPressedDispatcher() से वापस पाया जा सकता है. (aosp/922523)
  • OnBackPressedDispatcher में नया OnBackPressedCallback जोड़ने के तरीके अब Cancellable ऑब्जेक्ट दिखाते हैं. इससे, OnBackPressedDispatcher के साफ़ तौर पर रेफ़रंस दिए बिना, कॉलबैक को हटाया जा सकता है. (aosp/922523)
  • अब किसी LifecycleOwner से जुड़े OnBackPressedCallback को जोड़ने पर, 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 क्लास एनोटेशन के लिए सहायता जोड़ी गई है. इससे आपको यह बताने में मदद मिलती है कि setContentView() का इस्तेमाल करने के बजाय, किस लेआउट एक्सएमएल फ़ाइल को फ़्लेट किया जाना चाहिए. (aosp/837619)

एपीआई में हुए बदलाव

  • एक नोट जोड़ा गया है कि getViewModelStore() को बदला नहीं जाना चाहिए. साथ ही, इसे आने वाले वर्शन में फ़ाइनल कर दिया जाएगा. अगर फ़िलहाल इस तरीके को बदला जा रहा है, तो कृपया सुविधा का अनुरोध करें. (aosp/837619)

गड़बड़ियां ठीक की गईं

  • activity मॉड्यूल अब ViewModel के 2.1.0-alpha02 वर्शन पर निर्भर करता है, ताकि वह activity-ktx मॉड्यूल की डिपेंडेंसी से मैच कर सके.

वर्शन 1.0.0-alpha03

17 दिसंबर, 2018

androidx.activity 1.0.0-alpha03 रिलीज़ हो गया है.

नई सुविधाएं

  • ComponentActivity अब BundleSavedStateRegistryOwner लागू करती है और यह हाल ही में रिलीज़ की गई SavedState लाइब्रेरी [aosp/815133] पर निर्भर करती है
  • ComponentActivity अब Android फ़्रेमवर्क के उस बग को ठीक कर देती है जिसकी वजह से InputMethodManager, फ़ोकस किए गए आखिरी व्यू को लीक कर देता था [b/37122102]

वर्शन 1.0.0-alpha02

3 दिसंबर, 2018

एपीआई में हुए बदलाव

  • एक नोट जोड़ा गया है कि getLifecycle() को बदला नहीं जाना चाहिए. साथ ही, इसे आने वाले वर्शन में final कर दिया जाएगा. अगर फ़िलहाल इस तरीके को बदला जा रहा है, तो कृपया सुविधा का अनुरोध करें. (aosp/815834)

वर्शन 1.0.0-alpha01

5 नवंबर, 2018

androidx.activity 1.0.0-alpha01 में, ComponentActivity को शामिल किया गया है. यह मौजूदा FragmentActivity और AppCompatActivity की नई बेस क्लास है.

नई सुविधाएं

  • अब addOnBackPressedCallback के ज़रिए OnBackPressedCallback रजिस्टर किया जा सकता है, ताकि onBackPressed() कॉलबैक पाए जा सकें. इसके लिए, आपको अपनी गतिविधि में मौजूद तरीके को बदलने की ज़रूरत नहीं है.
  • ComponentActivity से ViewModels को वापस पाने के लिए, एक नई by viewModels() Kotlin प्रॉपर्टी डेलिगेट जोड़ी गई है.
  • onStop() में, अब वे इनपुट इवेंट रद्द कर दिए जाते हैं जो प्रोसेस नहीं हो पाए हैं. जैसे, क्लिक.

एपीआई में हुए बदलाव

  • LifecycleOwner और ViewModelStoreOwner को लागू करने की सुविधा को FragmentActivity से ComponentActivity पर ले जाया गया है.
  • onRetainCustomNonConfigurationInstance का अब इस्तेमाल नहीं किया जा सकता. कॉन्फ़िगरेशन में होने वाले बदलावों के बाद भी काम करने वाले ऑब्जेक्ट को सेव करने के लिए, ViewModel का इस्तेमाल करें.