गतिविधि

गतिविधि के आधार पर बनाए गए कंपोज़ेबल एपीआई को ऐक्सेस करें.
नया अपडेट स्टेबल रिलीज़ रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा वर्शन
30 जुलाई, 2025 1.10.1 1.11.0-rc01 - 1.12.0-alpha05

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

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

अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:

ग्रूवी

dependencies {
    def activity_version = "1.10.1"

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

Kotlin

dependencies {
    val activity_version = "1.10.1"

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

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

सुझाव/राय दें या शिकायत करें

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

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

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

वर्शन 1.12

वर्शन 1.12.0-alpha05

30 जुलाई, 2025

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

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

वर्शन 1.12.0-alpha04

2 जुलाई, 2025

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

डिपेंडेंसी में बदलाव

वर्शन 1.12.0-alpha03

18 जून, 2025

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

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

  • OnBackPressedDispatcher और NavigationEventDispatcher, दोनों को अब ComponentActivity में लेज़ी तरीके से शुरू किया जाता है. (I710e6)

  • OnBackPressedDistpatcher से जुड़ी इन समस्याओं को ठीक किया गया है:

    • OnBackPressedCallback के सिर्फ़ सबसे नए डिसपैचर को यह सूचना दी गई कि यह सुविधा चालू है (b/418715930)
    • OnBackPressedDispatcher, लाइफ़साइकल लेने वाले addCallback फ़ंक्शन का इस्तेमाल करते समय गलत कॉलबैक को हटाता है. (b/422714753)
    • OnBackPressedDispatcher.remove(), रजिस्टर किए गए OnBackPressedCallback के सभी इंस्टेंस नहीं हटाता है. (b/423024414)

वर्शन 1.12.0-alpha02

4 जून, 2025

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

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

  • NavigationEvent 1.0.0-alpha02 से जुड़ी समस्या: ConcurrentModificationException को ठीक किया गया है. यह समस्या तब हो सकती है, जब क्लोज़ किए जा सकने वाले आइटम की इंटरनल सूची में एक साथ बदलाव करने की वजह से NavigationEventCallback.remove() को कॉल किया गया हो. (I63066)

वर्शन 1.12.0-alpha01

20 मई, 2025

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

नई सुविधाएं

  • NavigationEventDispatcherOwner एपीआई के ज़रिए, ComponentActivity और ComponentDialog को NavigationEvent 1.0.0-alpha01 के साथ इंटिग्रेट किया गया है. अब navigationEventDispatcher फ़ील्ड के ज़रिए, ComponentActivity से NavigationEventDispatcher को वापस लाया जा सकता है. OnBackPressedDispatcher को नई लाइब्रेरी के आधार पर फिर से लिखा गया है. इसलिए, इसके सभी पिछले इस्तेमाल सही तरीके से काम करते रहेंगे. आपको आगे से NavigationEventDispatcher और NavigationEventCallback का इस्तेमाल करना चाहिए. (Ib8eed, I6cc44, Ib7724, I9a0f7,b/412597031, b/415028038, b/412596729, b/412597140, b/412596012)

वर्शन 1.11

वर्शन 1.11.0-rc01

23 अप्रैल, 2025

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

वर्शन 1.11.0-beta01

9 अप्रैल, 2025

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

वर्शन 1.11.0-alpha02

26 मार्च, 2025

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

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

  • Android 16 Beta03 की नई EDGE_NONE और frameTimeMillis को, OnBackPressedCallback के handleOnBackStarted और handleOnBackProgressed फ़ंक्शन से मिले BackEventCompat में इंटिग्रेट किया गया है.

डिपेंडेंसी से जुड़े अपडेट

  • अब ऐक्टिविटी को एपीआई 36 के साथ कंपाइल किया गया है. (I510e8, b/301910674)

वर्शन 1.11.0-alpha01

12 मार्च, 2025

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

नई सुविधाएं

  • PickVisualMediaRequest में MediaCapabilities एपीआई जोड़ा गया है, ताकि ऐप्लिकेशन अपनी मीडिया क्षमताओं के बारे में बता सकें. जैसे, एचडीआर के कौनसे टाइप काम करते हैं. (Ic3ee7)

वर्शन 1.10

वर्शन 1.10.1

26 फ़रवरी, 2025

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

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

  • ViewTree OnBackPressedDispatcherOwners और FullyDrawnReporterOwners की समस्याओं को अब व्यू के डिसजॉइंट पैरंट के ज़रिए हल किया जा सकता है. जैसे, ViewOverlay. डिसजॉइंट व्यू पैरंट के बारे में ज़्यादा जानने के लिए, कोर के रिलीज़ नोट या ViewTree.setViewTreeDisjointParent में मौजूद दस्तावेज़ देखें. (Ie7750)

वर्शन 1.10.0

15 जनवरी, 2025

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

1.9.0 के बाद हुए अहम बदलाव

  • PhotoPicker अब इमेज को क्रम से चुनने और यह चुनने की अनुमति देता है कि शुरुआत में कौनसी टैब (एल्बम या इमेज) दिखनी चाहिए.
  • PickVisualMedia और PickMultipleVisualMedia गतिविधि के नतीजे वाले ऐसे अनुबंध जो फ़ोटो पिकर को ट्रिगर करते हैं वे अब सीधे तौर पर Google Play services को नहीं सौंपे जाते. ऐसा तब होता है, जब सिस्टम फ़ोटो पिकर उपलब्ध न हो. हालांकि, ये अनुबंध सार्वजनिक ACTION_SYSTEM_FALLBACK_PICK_IMAGES कार्रवाई और उससे जुड़े अतिरिक्त विकल्पों का इस्तेमाल करते हैं, ताकि ओईएम और सिस्टम ऐप्लिकेशन को फ़ोटो पिकर का एक जैसा अनुभव मिल सके.
  • नया LocalActivity कंपोज़िशन लोकल, जो मौजूदा स्कोप के लिए Activity उपलब्ध कराता है. इससे डेवलपर को LocalContext से Activity पाने की ज़रूरत नहीं पड़ती.

वर्शन 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 अब कॉलबैक ट्रिगर नहीं करेगा. इससे उस समस्या को ठीक किया जा सकेगा जिसमें Navigation Compose से 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 को नहीं सौंपे जाते. ऐसा तब होता है, जब सिस्टम फ़ोटो पिकर उपलब्ध न हो. हालांकि, ये अनुबंध सार्वजनिक 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 API, उस फ़्रेम पर सिस्टम के बैक जेस्चर को हैंडल करता रहता था जिस पर इसे बंद कर दिया गया था. इससे 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 अब कॉलबैक को ट्रिगर नहीं करेगा. इससे उस समस्या को ठीक किया जा सकेगा जिसमें Navigation Compose से 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() को कॉल करने पर चेतावनी देते हैं. ऐसा इसलिए, क्योंकि बैक बटन दबाने पर हमेशा प्रिडिक्टिव बैक ऐनिमेशन काम नहीं करेगा. ज़्यादा जानकारी के लिए, सबसे सही तरीके बताने वाली गाइड देखें.
  • गतिविधि से जुड़े बाकी एपीआई को 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: Photo Picker Activity Contract के ACTION_SYSTEM_FALLBACK_PICK_IMAGES को पास किए गए अतिरिक्त डेटा को ठीक किया गया है, ताकि "com.google.android.gms.provider.extra.PICK_IMAGES_MAX" कुंजी के साथ अतिरिक्त डेटा का इस्तेमाल करने के बजाय, इसे EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX कुंजी को सही तरीके से पास किया जा सके. अगर आप एक ओईएम हैं और आपने सिस्टम फ़ॉलबैक फ़ोटो पिकर को लागू किया है, तो हमारा सुझाव है कि आप दोनों एक्सट्रा को लागू करें. इससे यह पक्का किया जा सकेगा कि फ़ोटो पिकर ज़्यादा से ज़्यादा डिवाइसों के साथ काम करे. (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 Activity Result contract के बराबर है. (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" कुंजी के साथ अतिरिक्त डेटा का इस्तेमाल करने के बजाय, ACTION_SYSTEM_FALLBACK_PICK_IMAGES कुंजी को सही तरीके से पास किया जा सके.EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX अगर आप एक ओईएम हैं और आपने सिस्टम फ़ॉलबैक फ़ोटो पिकर को लागू किया है, तो हमारा सुझाव है कि आप दोनों एक्सट्रा को लागू करें. इससे यह पक्का किया जा सकेगा कि फ़ोटो पिकर ज़्यादा से ज़्यादा डिवाइसों के साथ काम करे. (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 में ये कमिट शामिल हैं.

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

  • अब बैक जेस्चर का इस्तेमाल करते समय नया OnBackPressedCallback जोड़ने पर भी, OnBackPressedDispatcher सही 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 ऑब्जेक्ट का फ़्लो देता है. इसे आपको दिए गए सस्पेंडिंग लैंबडा में इकट्ठा करना होगा:
  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 में ये कमिट शामिल हैं.

नई सुविधाएं

  • Activity Compose में, अनुमानित बैक जेस्चर इवेंट को मैनेज करने के लिए नया PredictiveBackHandler Composable जोड़ा गया है. यह BackEventCompat ऑब्जेक्ट का Flow देता है. इन्हें आपको दिए गए सस्पेंडिंग लैम्डा में इकट्ठा करना होगा:

    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 को Android 13 पर अब NPE नहीं दिखेगा. ऐसा तब होगा, जब उसे onBackPressed() कॉलबैक मिलता है और गतिविधि पहले ही DESTROYED हो चुकी है. (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 इंस्टेंस मिलता है. @VisibleForTesting पर मौजूद @VisibleForTesting एपीआई को भी अपडेट कर दिया गया है.OnBackPressedDispatcher
  • 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 रिलीज़ किए गए हैं. इसे इंटरनल ब्रांच से रिलीज़ किया गया था.

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

  • गतिविधि 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)

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

  • उस समस्या को ठीक किया गया है जिसमें फ़्रैगमेंट, MenuHost को गलत तरीके से अमान्य कर रहे थे. साथ ही, इसकी वजह से गतिविधि में मौजूद अन्य मेन्यू में अनचाहा व्यवहार हो रहा था. (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 के उपलब्ध न होने पर, फ़ोटो पिकर का एक और फ़ॉलबैक उपलब्ध होगा. इससे ओईएम और Google Play services जैसे सिस्टम ऐप्लिकेशन, फ़ॉलबैक ऐक्शन लागू करके, Android डिवाइसों और एपीआई लेवल की ज़्यादा रेंज पर फ़ोटो पिकर का एक जैसा अनुभव दे पाएंगे. अगर यह फ़ॉलबैक उपलब्ध है, तो फ़ोटो पिकर इसका इस्तेमाल करेगा. इसके बाद, Intent.ACTION_OPEN_DOCUMENT का इस्तेमाल किया जाएगा. Intent.ACTION_OPEN_DOCUMENT, एपीआई 19 और उसके बाद के वर्शन वाले सभी डिवाइसों के साथ काम करता है.
  • ComponentDialog अब SavedStateRegistryOwner को लागू करता है और उसके पास अपने SavedStateRegistry का ऐक्सेस होता है. साथ ही, वह अपने ViewTree के लिए SavedStateRegistryOwner सेट करता है. अब ComponentDialog में Jetpack Compose का इस्तेमाल किया जा सकता है, क्योंकि यह ViewTree एपीआई की ज़रूरी शर्तों के ज़रिए Window से जुड़े 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 APIs

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

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

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

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 में ये कमिट शामिल हैं.

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

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

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

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

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

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 में ये कमिट शामिल हैं.

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

  • PickMultipleVisualMedia के लिए डिफ़ॉल्ट वैल्यू का इस्तेमाल करने पर, Android R डिवाइसों पर PickMultipleVisualMedia Activity Result contract लॉन्च न होने की समस्या को ठीक किया गया है.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 का इस्तेमाल करता है.
  • 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 अब PRIORITY_OVERLAY के बजाय PRIORITY_DEFAULT के साथ OnBackInvokedCallback को रजिस्टर करता है. (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 में ये कमिट शामिल हैं.

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

  • एसडीके के 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.5.1 से: Activity लाइब्रेरी अब Lifecycle वर्शन 2.5.1 पर निर्भर करती है. (If6697)

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

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

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

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

  • PickVisualMedia ActivityResultContract के लिए एसडीके एक्सटेंशन की जांच करते समय, पुराने डिवाइसों पर क्रैश होने की समस्या ठीक की गई है. अब यह 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 रिलीज़ हो गए हैं.

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

  • PickVisualMediaRequest में हुई एक गड़बड़ी को ठीक किया गया है. इस गड़बड़ी की वजह से, बिल्डर या टॉप लेवल के Kotlin फ़ंक्शन के ज़रिए अनुरोध बनाने की कोशिश करने पर स्टैक ओवरफ़्लो हो जाता था.
  • Android 13 Dev Beta 2 में मौजूद OnBackInvokedCallback को ComponentDialog की ओर से उपलब्ध कराए गए OnBackPressedDispatcher में इंटिग्रेट किया गया है. इससे यह पक्का होता है कि अनुमानित बैक जेस्चर की सुविधा चालू करने पर, 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 रिलीज़ किए गए हैं.

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

नई सुविधाएं

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

नई सुविधाएं

  • Android 13 Dev Preview 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 अब Lifecycle 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 के साथ इंटिग्रेट किया गया है. इसे Lifecycle 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 के लिए नो पैरामीटर कंस्ट्रक्टर को बंद कर दिया गया है और इसे एक नए कंस्ट्रक्टर से बदल दिया गया है. यह कंस्ट्रक्टर, कॉन्क्रीट माइम टाइप (जैसे, "image/png") को Intent.ACTION_CREATE_DOCUMENT की ज़रूरी शर्तों के मुताबिक सेट किया गया हो. (I2bec6)
  • अब व्यू से जुड़े OnBackPressedDispatcherOwner को ViewTreeOnBackPressedDispatcherOwner के ज़रिए वापस पाया जा सकता है. इसके लिए, Context को कास्ट करने की ज़रूरत नहीं है. (I74685)

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

  • ViewModel को पहली बार registerForActivityResult() कॉलबैक से या 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)
  • ActivityResultContracts.StartActivityForResult, ActivityResultContracts.StartIntentSenderForResult, और ActivityResultContracts.RequestMultiplePermissions क्लास में मौजूद सार्वजनिक कॉन्स्टेंट को अब Kotlin का इस्तेमाल करके ऐक्सेस किया जा सकता है. इसके लिए, अब सार्वजनिक तौर पर उपलब्ध Companion ऑब्जेक्ट का इस्तेमाल करना होगा. (aosp/1832555)

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

  • Activity Result API के ज़रिए मैनेज किए जाने वाले एपीआई के लिए, बंद होने की सूचना देने वाले मैसेज में ज़्यादा जानकारी जोड़ी गई है. ये एपीआई हैं: 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 पर निर्भर करती है.
  • Activity Compose अब 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 API के साथ इंटरैक्ट करने के लिए, Compose के खास रैपर उपलब्ध कराता है. ज़्यादा जानकारी के लिए, दस्तावेज़ देखें.
  • CaptureVideo contract - CaptureVideo ActivityResultContract, अब इस्तेमाल में नहीं रहे TakeVideo contract की जगह लेता है. साथ ही, यह एक बूलियन वैल्यू दिखाता है, जो कई कैमरा ऐप्लिकेशन पर काम करती है.
  • पिक्चर में पिक्चर मोड के लिए, हिंट व्यू ट्रैकिंग - activity-ktx के उपयोगकर्ता अब Activity पर trackPipAnimationHintView एक्सटेंशन के तरीके का इस्तेमाल कर सकते हैं. इससे PictureInPictureParams को अपने-आप फिर से बनाया जा सकेगा. साथ ही, विंडो के हिसाब से व्यू की पोज़िशन बदलने पर, नई पोज़िशन के साथ 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)
  • नया एपीआई Activity#setPipAnimationHintView जोड़ा गया है. इससे व्यू के मूव होने पर, PipParams के source rect hint को अपडेट किया जा सकेगा. (I9063d)

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

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

लिखने की सुविधा के साथ काम करने वाले प्रॉडक्ट

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

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

  • अब BackHandler, बैक बटन दबाने की कार्रवाइयों को सही तरीके से इंटरसेप्ट करेगा. ऐसा तब होगा, जब ऐक्टिविटी STOPPED हो, फिर STARTED हो, और 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)
  • Activity 1.2.2 से: ComponentActivity अब ActivityResultContract से Intent लॉन्च करते समय ClassNotFoundException से बचता है. 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)
  • 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() API की जगह काम करते हैं. (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 एपीआई का इस्तेमाल करके, किसी कंपोज़ेबल को सिस्टम के बैक बटन को इंटरसेप्ट करने की अनुमति दी जा सकती है. (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 में ये कमिट शामिल हैं.

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

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

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

    • सस्पेंड करने वाले Kotlin एक्सटेंशन withContextAvailable() की मदद से, कॉन्टेक्स्ट उपलब्ध होने पर सस्पेंड न करने वाले ब्लॉक को चलाया जा सकता है और नतीजा दिखाया जा सकता है.
    • इस एपीआई का इस्तेमाल FragmentActivity, Fragment 1.3.0 में करता है, ताकि FragmentManager की स्थिति को वापस लाया जा सके. FragmentActivity की सबक्लास में जोड़े गए सभी लिसनर, उस लिसनर के बाद चलेंगे.
    • इस एपीआई का इस्तेमाल AppCompatActivity, AppCompat 1.3.0-alpha02 या उसके बाद के वर्शन में करता है. AppCompatActivity की सबक्लास में जोड़े गए सभी लिसनर, उस लिसनर के बाद चलेंगे.
  • ViewTree सहायता: ComponentActivity अब लाइफ़साइकल 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 के साथ रजिस्टर होने पर, Activity Result API, नतीजे देने से पहले 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, register() को कॉल करने की कोशिश करते समय IllegalStateException दिखाता है. ऐसा तब होता है, जब LifecycleOwner का 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, Fragment 1.3.0-alpha08 में FragmentManager की स्थिति को वापस लाने के लिए करता है. FragmentActivity की सबक्लास में जोड़े गए सभी लिसनर, उस लिसनर के बाद चलेंगे. (I513da)
    • इस एपीआई का इस्तेमाल AppCompatActivity, AppCompat 1.3.0-alpha02 में करता है. AppCompatActivity की सबक्लास में जोड़े गए सभी लिसनर, उस लिसनर के बाद चलेंगे. (I513da)

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

  • ActivityResultFragmentVersionDetector Lint की जांच से जुड़ी समस्या को ठीक किया गया है. इस समस्या की वजह से, Lint 27.1.0 या इसके बाद के वर्शन का इस्तेमाल करते समय, Lint की जांच काम नहीं करती थी. (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 लिंट जांच जोड़ी गई है. इससे यह पुष्टि की जाती है कि Activity Result API का इस्तेमाल करते समय, Fragment 1.3.0-alpha07 का इस्तेमाल किया जा रहा है. इससे “अमान्य अनुरोध कोड” की समस्याओं की वजह से रनटाइम क्रैश से बचा जा सकता है. साथ ही, Fragments के पुराने वर्शन का इस्तेमाल करने की वजह से, अनुमति के अनुरोधों के काम न करने की समस्या से भी बचा जा सकता है. (b/152554847)

बाहरी योगदान

  • RequestPermission ActivityResult अनुबंध के लिए नतीजों को पार्स करते समय, 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)

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

  • LifecycleOwner के साथ ActivityResultCallback रजिस्टर करते समय, उस समस्या को ठीक किया गया है जिसमें स्थिति 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() एपीआई को बंद कर दिया गया है. कृपया Activity Result APIs का इस्तेमाल करें. (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)
  • Activity Result API अब 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 अनुबंध को हटा दिया गया है, क्योंकि इसका इस्तेमाल startActivityForResult() के साथ नहीं किया जा सकता.Intent (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 में हुई रिग्रेशन की समस्या को ठीक किया गया है. यह समस्या, प्लैटफ़ॉर्म के पुराने वर्शन पर ऐप्लिकेशन चलाने के दौरान होती थी. इसमें 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 के बाद हुए अहम बदलाव

  • लाइफ़साइकल ViewModel SavedState इंटिग्रेशन: by viewModels() का इस्तेमाल करते समय, ViewModelProvider कंस्ट्रक्टर या ViewModelProviders.of() के साथ ComponentActivity या इसके सबक्लास का इस्तेमाल करते समय, अब SavedStateViewModelFactory डिफ़ॉल्ट फ़ैक्ट्री के तौर पर इस्तेमाल किया जाता है.

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

नई सुविधाएं

  • by viewModels(), ViewModelProvider कंस्ट्रक्टर या ViewModelProviders.of() के साथ ComponentActivity का इस्तेमाल करते समय, अब SavedStateViewModelFactory का इस्तेमाल डिफ़ॉल्ट फ़ैक्ट्री के तौर पर किया जाता है (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 या lifecycle-runtime-ktx पर निर्भर रहने वाली लाइब्रेरी (जैसे कि fragment-ktx) का इस्तेमाल करते समय, आपको इसे अपनी डिपेंडेंसी में साफ़ तौर पर जोड़ने की ज़रूरत नहीं है. (aosp/987162)activity-ktx

वर्शन 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 Fragment 1.1.0 में FragmentActivity के लिए नई बेस क्लास के तौर पर काम करता है. साथ ही, AppCompat 1.1.0 में AppCompatActivity के लिए भी काम करता है.
  • activity-ktx: activity-ktx मॉड्यूल में, ViewModels को ऐक्सेस करने के लिए by viewModels Kotlin प्रॉपर्टी एक्सटेंशन शामिल है. Fragment 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
  • onBackPressed() के लिए ComponentActivity को अब साफ़ तौर पर @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 लेता है. यह @ContentView के साथ अपनी AppCompatActivity क्लास को एनोटेट करने के पिछले तरीके की जगह लेता है. यह तरीका, ऐप्लिकेशन और लाइब्रेरी मॉड्यूल, दोनों में काम करता है. (b/128352521)
  • ComponentActivity पर मौजूद OnBackPressedCallback से जुड़े एपीआई को बंद कर दिया गया है. अब OnBackPressedDispatcher का इस्तेमाल किया जा सकता है. इसे getOnBackPressedDispatcher() के ज़रिए वापस पाया जा सकता है. (aosp/922523)
  • OnBackPressedDispatcher में नया OnBackPressedCallback जोड़ने के तरीके अब Cancellable ऑब्जेक्ट दिखाते हैं. इससे OnBackPressedDispatcher के लिए साफ़ तौर पर रेफ़रंस दिए बिना, कॉलबैक को हटाया जा सकता है. (aosp/922523)
  • अब किसी LifecycleOwner से जुड़े 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 मॉड्यूल अब activity-ktx मॉड्यूल की डिपेंडेंसी से मेल खाने के लिए, ViewModel के वर्शन 2.1.0-alpha02 पर निर्भर करता है.

वर्शन 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 का इस्तेमाल करें.