गतिविधि
नया अपडेट | स्टेबल रिलीज़ | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
---|---|---|---|---|
10 सितंबर, 2025 | 1.11.0 | - | - | 1.12.0-alpha08 |
डिपेंडेंसी का एलान करना
Activity पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.
अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle
फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:
Groovy
dependencies { def activity_version = "1.11.0" // Java language implementation implementation "androidx.activity:activity:$activity_version" // Kotlin implementation "androidx.activity:activity-ktx:$activity_version" }
Kotlin
dependencies { val activity_version = "1.11.0" // 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-alpha08
10 सितंबर, 2025
androidx.activity:activity:1.12.0-alpha08
, androidx.activity:activity-compose:1.12.0-alpha08
, और androidx.activity:activity-ktx:1.12.0-alpha08
रिलीज़ किए जाते हैं. वर्शन 1.12.0-alpha08 में ये बदलाव शामिल हैं.
डिपेंडेंसी अपडेट
- अब गतिविधि, Navigation Event 1.0.0-alpha08 पर निर्भर करती है.
वर्शन 1.12.0-alpha07
27 अगस्त, 2025
androidx.activity:activity:1.12.0-alpha07
, androidx.activity:activity-compose:1.12.0-alpha07
, और androidx.activity:activity-ktx:1.12.0-alpha07
रिलीज़ किए जाते हैं. वर्शन 1.12.0-alpha07 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- एपीआई 35 में
EdgeToEdge
से जुड़ी समस्या ठीक की गई है. इसमें अदृश्य व्यू की वजह से, मेज़रमेंट इनसेट में गड़बड़ी हो रही थी. (If49ff)
डिपेंडेंसी अपडेट
- अब ऐक्टिविटी, नेविगेशन इवेंट
1.0.0-alpha07
पर निर्भर करती है.
वर्शन 1.12.0-alpha06
13 अगस्त, 2025
androidx.activity:activity:1.12.0-alpha06
, androidx.activity:activity-compose:1.12.0-alpha06
, और androidx.activity:activity-ktx:1.12.0-alpha06
रिलीज़ किए जाते हैं. वर्शन 1.12.0-alpha06 में ये बदलाव शामिल हैं.
MinSdk अपडेट
- AndroidX के लिए डिफ़ॉल्ट
minSdk
को API 21 से API 23 पर ले जाया गया है (Ibdfca, b/380448311, b/435705964, b/435705223)
दस्तावेज़ से जुड़े अपडेट
PredictiveBackHandler
के लिए अपडेट किए गए KDocs. इसमें समय से जुड़ी एक ऐसी समस्या के बारे में बताया गया है जिसमें जेस्चर को उसी फ़्रेम में प्रोसेस किया जा सकता है जिसमें उसे बंद किया गया है. (I5be5c, b/431534103)BackHandler
औरPredictiveBackHandler
के लिए KDocs अपडेट किए गए हैं. इनमें 'सबसे बाद में कंपोज़ किया गया मैसेज दिखता है' के बारे में साफ़ तौर पर बताया गया है. साथ ही,enabled
फ़्लैग के साथ बिना शर्त कंपोज़ करने का सुझाव दिया गया है. (I7ab94)
डिपेंडेंसी अपडेट
- अब ऐक्टिविटी, नेविगेशन इवेंट
1.0.0-alpha06
पर निर्भर करती है.
वर्शन 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.0.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 में ये बदलाव शामिल हैं.
डिपेंडेंसी में बदलाव
- अब ऐक्टिविटी, NavigationEvent 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)- लाइफ़साइकल का इस्तेमाल करने वाले
addCallback
फ़ंक्शन का इस्तेमाल करते समय,OnBackPressedDispatcher
गलत कॉलबैक को हटा देता है. (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
को NavigationEvent1.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
10 सितंबर, 2025
androidx.activity:activity:1.11.0
, androidx.activity:activity-compose:1.11.0
, और androidx.activity:activity-ktx:1.11.0
रिलीज़ किए जाते हैं. वर्शन 1.11.0 में ये बदलाव शामिल हैं.
1.10.0 के बाद हुए अहम बदलाव:
PickVisualMediaRequest
मेंMediaCapabilities
एपीआई जोड़ा गया है, ताकि ऐप्लिकेशन अपनी मीडिया क्षमताओं के बारे में बता सकें. जैसे, एचडीआर के कौनसे टाइप काम करते हैं.- अब ऐक्टिविटी को एपीआई 36 के साथ कंपाइल किया गया है.
वर्शन 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 ComposePredictiveBackHandler
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 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक किया गया है जिसमें 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 में ये बदलाव शामिल हैं.
डिपेंडेंसी अपडेट
- अब ऐक्टिविटी, Profile Installer 1.3.1 पर निर्भर करती है.
वर्शन 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 में ये बदलाव शामिल हैं.
लिंट की चेतावनी
OnBackPressedCallback
,BackHandler
, औरPredictiveBackHandler
एपीआई अबonBackPressedDispatcher.onBackPressed()
को कॉल करने पर चेतावनी देते हैं. ऐसा इसलिए, क्योंकि इससे हमेशा प्रिडिक्टिव बैक ऐनिमेशन काम नहीं करेगा. ज़्यादा जानकारी के लिए, सबसे सही तरीके बताने वाली गाइड देखें. (1e4222, 2c950d, b/287505200)
गड़बड़ियां ठीक की गईं
- अगर पहले से चल रहे अनुमानित बैक जेस्चर के दौरान, सिस्टम से कोई बैक इवेंट भेजा जाता है, तो मौजूदा अनुमानित बैक जेस्चर रद्द हो जाता है. इसके बाद, नया बैक इवेंट, अनुमानित बैक जेस्चर शुरू करने के लिए काम करता है. (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.13.0-alpha01
पर निर्भर करती है. (I14f31)
वर्शन 1.8
वर्शन 1.8.2
13 दिसंबर, 2023
androidx.activity:activity:1.8.2
, androidx.activity:activity-compose:1.8.2
, और androidx.activity:activity-ktx:1.8.2
रिलीज़ किए जाते हैं. वर्शन 1.8.2 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- फ़ोटो पिकर ऐक्टिविटी कॉन्ट्रैक्ट के
ACTION_SYSTEM_FALLBACK_PICK_IMAGES
को पास किए गए अतिरिक्त डेटा को ठीक किया गया है, ताकि"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
कुंजी के साथ अतिरिक्त डेटा का इस्तेमाल करने के बजाय,EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
कुंजी को सही तरीके से पास किया जा सके. अगर आप एक ओईएम हैं और आपने सिस्टम फ़ॉलबैक फ़ोटो पिकर को लागू किया है, तो हमारा सुझाव है कि आप दोनों एक्सट्रा को लागू करें. इससे यह पक्का किया जा सकेगा कि फ़ोटो पिकर ज़्यादा से ज़्यादा डिवाइसों के साथ काम करे. (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 के बजाय KotlinRandom
का इस्तेमाल करता है. (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.7.0-rc01
से: अब गतिविधिLifecycle 2.6.0
पर निर्भर है.
वर्शन 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
.
नीचे दी गई टेबल में, Activity के नए वर्शन के लिए सोर्स कन्वर्ज़न की जानकारी दी गई है:
गतिविधि 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
एक सस्पेंडिंग तरीके का इस्तेमाल करता है. जब यह पूरा हो जाता है, तो इसका मतलब है कि आप इंटरैक्शन के लिए तैयार हैं.
डिपेंडेंसी से जुड़े अपडेट
- अब ऐक्टिविटी, लाइफ़साइकल
2.6.1
पर निर्भर करती है. (8fc31d) - अब ऐक्टिविटी, ProfileInstaller
1.3.0
पर निर्भर करती है. (83d3b1)
वर्शन 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
:PickMultipleVisualMedia
गतिविधि के नतीजे वाले अनुबंध से जुड़ी समस्या को ठीक किया गया है. इस समस्या में,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
गतिविधि के नतीजे का अनुबंध लॉन्च न होने की समस्या को ठीक किया गया है.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
होने पर,ActivityResultRegistry
अबActivityResultCallback
को कोई नतीजा नहीं दिखाएगा. साथ ही, अगर कॉलबैक कोLifecycleOwner
के बिना रजिस्टर किया गया था, तो भी ऐसा होगा. (Ia7ff7, b/238350794)ComponentActivity
अब मेन्यू कॉल को सही तरीके से डिस्पैच करेगा. इसके लिए, आपको अपनी गतिविधि में सुपर फ़ंक्शन को कॉल करने की ज़रूरत नहीं होगी. (Ie33c5, b/238057118)
डिपेंडेंसी अपडेट
Activity
लाइब्रेरी अब लाइफ़साइकल2.5.1
पर निर्भर करती है. (If6697)
वर्शन 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 के डेवलपर बीटा 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)
डिपेंडेंसी अपडेट
Activity
लाइब्रेरी अब लाइफ़साइकल2.5.1
पर निर्भर करती है. (If6697)
वर्शन 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
अब Lifecycle2.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 में ये बदलाव शामिल हैं.
डिपेंडेंसी से जुड़े अपडेट
- अब ऐक्टिविटी, लाइफ़साइकल
2.4.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 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- अब गतिविधि
by viewModels()
फ़ंक्शन (I6a3e6, b/217600303) कोCreationExtras
पास किया जा सकता है
वर्शन 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 के साथ इंटिग्रेट किया गया है. इसे Lifecycle2.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 APIs के ज़रिए मैनेज किए जाने वाले एपीआई के लिए, बंद होने से जुड़ी सूचना को ज़्यादा जानकारी के साथ अपडेट किया गया है. ये एपीआई हैं:
startActivityForResult
,startIntentSenderForResult
,onActivityResult
,requestPermissions
, औरonRequestPermissionsResult
. (cce80f)
वर्शन 1.4.0-alpha02
15 सितंबर, 2021
androidx.activity:activity:1.4.0-alpha02
, androidx.activity:activity-compose:1.4.0-alpha02
, और androidx.activity:activity-ktx:1.4.0-alpha02
रिलीज़ किए जाते हैं. वर्शन 1.4.0-alpha02 में ये बदलाव शामिल हैं.
नई सुविधाएं
activity-compose
आर्टफ़ैक्ट में अबLaunchDuringComposition
लिंट की गड़बड़ी है. इस वजह से, कंपोज़िशन के हिस्से के तौर परActivityResultLauncher
केlaunch
तरीके को कॉल नहीं किया जा सकता, क्योंकि कंपोज़िशन में साइड इफ़ेक्ट नहीं होने चाहिए. साइड इफ़ेक्ट को मैनेज करने के लिए एपीआई का इस्तेमाल करें. (7c2bbe, b/191347220)
एपीआई में हुए बदलाव
ActivityResultContract
क्लास को Kotlin में फिर से लिखा गया है, ताकि Kotlin में कस्टम कॉन्ट्रैक्ट लिखने वाले डेवलपर, अपनी इनपुट और आउटपुट क्लास के लिए सही नलबिलिटी तय कर सकें. (I8a8f5)ActivityResultContracts
क्लास और उसके अनुबंधों को Kotlin में फिर से लिखा गया है, ताकि यह पक्का किया जा सके कि वे शून्य हो सकते हैं या नहीं. (I69802)
वर्शन 1.4.0-alpha01
1 सितंबर, 2021
androidx.activity:activity:1.4.0-alpha01
, androidx.activity:activity-compose:1.4.0-alpha01
, और androidx.activity:activity-ktx:1.4.0-alpha01
रिलीज़ किए जाते हैं. वर्शन 1.4.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- AndroidX
ComponentActivity
अबMenuHost
इंटरफ़ेस लागू करता है.. इससे कोई भी कॉम्पोनेंट, गतिविधि मेंMenuProvider
इंस्टेंस जोड़करActionBar
में मेन्यू आइटम जोड़ सकता है. हरMenuProvider
कोLifecycle
के साथ जोड़ा जा सकता है. इससे, मेन्यू आइटम की दृश्यता अपने-आप कंट्रोल हो जाएगी. यह कंट्रोल,Lifecycle
की स्थिति के आधार पर काम करेगा. साथ ही,Lifecycle
के बंद होने पर,MenuProvider
को हटाने का काम भी करेगा. (I3b608):
/**
* Using the addMenuProvider() API directly in your Activity
**/
class ExampleActivity : ComponentActivity(R.layout.activity_example) {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Add menu items without overriding methods in the Activity
addMenuProvider(object : MenuProvider {
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
// Add menu items here
menuInflater.inflate(R.menu.example_menu, menu)
}
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
// Handle the menu selection
return true
}
})
}
}
/**
* Using the addMenuProvider() API in a Fragment
**/
class ExampleFragment : Fragment(R.layout.fragment_example) {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
// The usage of an interface lets you inject your own implementation
val menuHost: MenuHost = requireActivity()
// Add menu items without using the Fragment Menu APIs
// Note how we can tie the MenuProvider to the viewLifecycleOwner
// and an optional Lifecycle.State (here, RESUMED) to indicate when
// the menu should be visible
menuHost.addMenuProvider(object : MenuProvider {
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
// Add menu items here
menuInflater.inflate(R.menu.example_menu, menu)
}
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
// Handle the menu selection
return true
}
}, viewLifecycleOwner, Lifecycle.State.RESUMED)
}
व्यवहार में बदलाव
ActivityResultRegistry
अबActivityResultLauncher
परlaunch()
को कॉल करने की कोशिश करने परIllegalStateException
दिखाएगा. ऐसा तब होगा, जबActivityResultLauncher
रजिस्टर नहीं किया गया होगा या उसका रजिस्ट्रेशन रद्द कर दिया गया होगा. (Ida75d, b/192567522)
बाहरी योगदान
वर्शन 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
एपीआई के साथ इंटरैक्ट करने के लिए, Compose के खास रैपर उपलब्ध कराता है. ज़्यादा जानकारी के लिए, दस्तावेज़ देखें. - CaptureVideo contract -
CaptureVideo
ActivityResultContract
, अब इस्तेमाल में नहीं रहेTakeVideo
contract की जगह लेता है. साथ ही, यह एक बूलियन वैल्यू दिखाता है, जो कई कैमरा ऐप्लिकेशन पर काम करती है. - पिक्चर में पिक्चर मोड के लिए, हिंट व्यू ट्रैकिंग -
activity-ktx
के उपयोगकर्ता अबActivity
परtrackPipAnimationHintView
एक्सटेंशन के तरीके का इस्तेमाल कर सकते हैं. इससे, विंडो के हिसाब से व्यू की पोज़िशन बदलने पर,PictureInPictureParams
अपने-आप फिर से बन जाएगा.
वर्शन 1.3.0-rc02
14 जुलाई, 2021
androidx.activity:activity:1.3.0-rc02
, androidx.activity:activity-compose:1.3.0-rc02
, और androidx.activity:activity-ktx:1.3.0-rc02
रिलीज़ किए जाते हैं. वर्शन 1.3.0-rc02 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
ActivityResultRegistry
कॉलबैक अब सही तरीके से सेव किए जाते हैं और उन्हें वापस लाया जाता है, ताकि savedState में कॉलबैक डुप्लीकेट न हों. (I97816, b/191893160)
वर्शन 1.3.0-rc01
1 जुलाई, 2021
androidx.activity:activity:1.3.0-rc01
, androidx.activity:activity-compose:1.3.0-rc01
, और androidx.activity:activity-ktx:1.3.0-rc01
को 1.3.0-beta02
के बाद से बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.3.0-rc01 में ये बदलाव शामिल हैं.
वर्शन 1.3.0-beta02
16 जून, 2021
androidx.activity:activity:1.3.0-beta02
, androidx.activity:activity-compose:1.3.0-beta02
, और androidx.activity:activity-ktx:1.3.0-beta02
रिलीज़ किए जाते हैं. वर्शन 1.3.0-beta02 में ये बदलाव शामिल हैं.
activity-compose
को Compose 1.0.0-beta09
पर निर्भर रहने के लिए अपडेट किया गया. अब androidx.compose.ui:ui-test-junit4
, कंपाइल टाइम के दौरान activity-compose
पर निर्भर करता है.
वर्शन 1.3.0-beta01
2 जून, 2021
androidx.activity:activity:1.3.0-beta01
, androidx.activity:activity-compose:1.3.0-beta01
, और androidx.activity:activity-ktx:1.3.0-beta01
रिलीज़ किए जाते हैं. वर्शन 1.3.0-beta01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- पहले बंद की जा चुकी
@Composable registerForActivityResult()
विधि को हटा दिया गया है. कृपयाrememberLauncherForActivityResult()
का इस्तेमाल करें. (Ic39d3)
वर्शन 1.3.0-alpha08
18 मई, 2021
androidx.activity:activity:1.3.0-alpha08
, androidx.activity:activity-compose:1.3.0-alpha08
, और androidx.activity:activity-ktx:1.3.0-alpha08
रिलीज़ किए जाते हैं. वर्शन 1.3.0-alpha08 में ये बदलाव शामिल हैं.
नई सुविधाएं
- नया
CaptureVideo
ActivityResultContract
आपकेActivityResultCallback
को एक बूलियन वैल्यू देता है. इससे पता चलता है कि आपका वीडियो दिए गए यूआरआई में सेव हुआ है या नहीं. यह अब काम न करने वालेTakeVideo
अनुबंध की जगह लेता है, क्योंकि कैमरा ऐप्लिकेशन बहुत कम ही थंबनेल बिटमैप दिखाते थे. इस वजह से, यह तरीका मददगार नहीं होता था. (Ie21f2, b/185938070) - नया एपीआई
Activity#setPipAnimationHintView
जोड़ा गया है. इससे व्यू के हिलने पर, PipParams के सोर्स रेक्ट हिंट को अपडेट किया जा सकेगा. (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
एक मैनेज किया गया ऑब्जेक्ट है, जिसे आपकी ओर से याद रखा जाता है. अबunregister
को कॉल करने की कोशिश करने पर,ActivityResultLauncher
में गड़बड़ी दिखेगी. (I2bb6d)LocalOnBackPressedDispatcherOwner.current
औरLocalActivityResultRegistryOwner.current
अब नल वैल्यू दिखाते हैं, ताकि यह बेहतर तरीके से तय किया जा सके कि यह मौजूदा कंपोज़िशन में उपलब्ध है या नहीं. जिन एपीआई को इन एपीआई की ज़रूरत होती है, जैसे किBackHandler
औरrememberLauncherForActivityResult()
, वे अब ज़्यादा जानकारी वाली गड़बड़ी दिखाएंगे. ऐसा तब होगा, जब मालिक का पता नहीं चलेगा.NavHost
अब तब भी काम करता है, जबOnBackPressedDispatcherOwner
नहीं मिलता. ऐसा तब होता है, जबNavHost
की झलक देखी जा रही हो. (I7d8b4)
गड़बड़ियां ठीक की गईं
- अब
BackHandler
, बैक बटन दबाने की कार्रवाइयों को सही तरीके से इंटरसेप्ट करेगा. ऐसा तब होगा, जब ऐक्टिविटीSTOPPED
हो, फिरSTARTED
हो, और LifecycleOwner के साथ अन्य कॉलबैक जोड़े गए हों. (I71de6, b/182284739) launch()
इनपुट वाले कस्टमActivityResultContract
के साथlaunch()
तरीके के एक्सटेंशन का इस्तेमाल करने पर, अबNullPointerException
(I76282, b/183837954) नहीं होगाUnit
वर्शन 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.2.2 से: अब ऐक्टिविटी, लाइफ़साइकल
2.3.1
पर निर्भर करती है.
वर्शन 1.3.0-alpha04
10 मार्च, 2021
androidx.activity:activity:1.3.0-alpha04
, androidx.activity:activity-compose:1.3.0-alpha04
, और androidx.activity:activity-ktx:1.3.0-alpha04
रिलीज़ किए जाते हैं. वर्शन 1.3.0-alpha04 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- गतिविधि
1.2.1
:RequestMultiplePermissions
अब हमेशा उन सभी अनुमतियों के लिए नतीजे दिखाता है जिनके लिए अनुरोध किया गया है. पहले, यह सिर्फ़ उन अनुमतियों के लिए नतीजे दिखाता था जो पहले नहीं दी गई थीं. (I50bc3, b/180884668) - गतिविधि
1.2.1
से:ActivityResultRegistry
अब यह पक्का करता है कि प्रोसेस में मौजूदlaunch()
अनुरोधों के नतीजे तब भी दिखेंगे, जब आपनेunregister()
और फिर उसी कुंजी के साथregister()
किया हो. (I9ef34, b/181267562) - Activity Compose अब रनटाइम क्लासपाथ में टेस्ट डिपेंडेंसी नहीं जोड़ता है. (Ifd8b3)
BackHandler
से जुड़ी समस्या को ठीक किया गया है. इसमें, फिर से कंपोज़ करने के बाद भी, पहले से सेट किए गएonBack
लैम्डा का इस्तेमाल किया जा रहा था. (8eb5eb)
वर्शन 1.3.0-alpha03
24 फ़रवरी, 2021
androidx.activity:activity:1.3.0-alpha03
, androidx.activity:activity-compose:1.3.0-alpha03
, और androidx.activity:activity-ktx:1.3.0-alpha03
रिलीज़ किए जाते हैं. वर्शन 1.3.0-alpha03 में ये बदलाव शामिल हैं.
नई सुविधाएं
- अब कंपोज़ेबल के अंदर की गतिविधियों से नतीजे पाने के लिए, कंपोज़ेबल
registerForActivityResult
फ़ंक्शन उपलब्ध है. (Ia7851, b/172690553)
एपीआई में हुए बदलाव
LocalOnBackPressedDispatcherOwner
में अबprovides
फ़ंक्शन उपलब्ध हैं. इनका इस्तेमालCompositionLocalProvider
के साथ किया जा सकता है. येasProvidableCompositionLocal()
एपीआई की जगह काम करते हैं. (I45d24)
वर्शन 1.3.0-alpha02
10 फ़रवरी, 2021
androidx.activity:activity:1.3.0-alpha02
, androidx.activity:activity-compose:1.3.0-alpha02
, और androidx.activity:activity-ktx:1.3.0-alpha02
रिलीज़ किए जाते हैं. वर्शन 1.3.0-alpha02 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- गतिविधि कंपोज़
1.3.0-alpha01
में मौजूद उस समस्या को ठीक किया गया है जिसकी वजह से कंपोज़1.0.0-alpha12
का इस्तेमाल करते समयNoSuchMethodError: No static method setContent
अपवाद होता है. Compose का इस्तेमाल करने वाले सभी लोगों को1.3.0-alpha02
या इसके बाद के वर्शन का इस्तेमाल करना चाहिए. (b/179911234)
एपीआई में हुए बदलाव
BackHandler
एपीआई का इस्तेमाल करके, किसी कंपोज़ेबल को सिस्टम के बैक बटन को इंटरसेप्ट करने की अनुमति दी जा सकती है. (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
के साथlaunch()
तरीके के एक्सटेंशन का इस्तेमाल करने पर, अबNullPointerException
(I76282, b/183837954) नहीं होगाUnit
- लिंट की गलत पॉज़िटिव गड़बड़ी को ठीक किया गया है. इसमें आपको 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)
डिपेंडेंसी से जुड़े अपडेट
- अब ऐक्टिविटी, लाइफ़साइकल
2.3.1
पर निर्भर करती है.
वर्शन 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 के बाद के मुख्य बदलाव
- गतिविधि के नतीजे दिखाने वाले एपीआई:
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
की सबक्लास में जोड़े गए सभी लिसनर, उस लिसनर के बाद चलेंगे.
- सस्पेंड करने वाले Kotlin एक्सटेंशन
ViewTree
सहायता:ComponentActivity
अब लाइफ़साइकल2.3.0
और SavedState1.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)Lifecycle
परActivityResultLauncher
को कॉल करने पर,Lifecycle
के साथ जुड़े हुए लोगों को सही तरीके से हटा दिया जाता है.unregister()
(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)
- सस्पेंड करने वाले Kotlin एक्सटेंशन
गड़बड़ियां ठीक की गईं
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 का इस्तेमाल करते समय, Fragment1.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 में ये बदलाव शामिल हैं.
नई सुविधाएं
ComponentActivity
मेंView
का इस्तेमाल करते समय, लाइफ़साइकल2.3.0-alpha03
सेViewTreeViewModelStoreOwner
और SavedState1.1.0-alpha01
सेViewTreeSavedStateRegistryOwner
के काम करने की सुविधा जोड़ी गई है. (aosp/1297993, aosp/1300264)
एपीआई में हुए बदलाव
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
अनुबंध को हटा दिया गया है, क्योंकि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 के बाद हुए अहम बदलाव
- Lifecycle ViewModel SavedState इंटिग्रेशन:
SavedStateViewModelFactory
अब डिफ़ॉल्ट फ़ैक्ट्री है. इसका इस्तेमाल तब किया जाता है, जबby viewModels()
,ViewModelProvider
कंस्ट्रक्टर याViewModelProviders.of()
का इस्तेमालComponentActivity
या इसकी सबक्लास के साथ किया जाता है.
वर्शन 1.1.0-rc03
4 दिसंबर, 2019
androidx.activity:activity:1.1.0-rc03
और androidx.activity:activity-ktx:1.1.0-rc03
रिलीज़ हो गए हैं. वर्शन 1.1.0-rc03 में ये बदलाव शामिल हैं.
डिपेंडेंसी में बदलाव
- अब ऐक्टिविटी, लाइफ़साइकल
2.2.0-rc03
और लाइफ़साइकल ViewModel SavedState1.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 स्टेबल वर्शन पर निर्भर करती है.
गड़बड़ियां ठीक की गईं
- अब ऐक्टिविटी, लाइफ़साइकल
2.2.0-alpha04
पर निर्भर करती है.
वर्शन 1.1.0-alpha02
7 अगस्त, 2019
androidx.activity:activity:1.1.0-alpha02
और androidx.activity:activity-ktx:1.1.0-alpha02
रिलीज़ हो गए हैं. इस वर्शन में शामिल बदलाव यहां देखे जा सकते हैं.
नई सुविधाएं
by viewModels()
,ViewModelProvider
कंस्ट्रक्टर याComponentActivity
(b/135716331) के साथViewModelProviders.of()
का इस्तेमाल करते समय, अबSavedStateViewModelFactory
का इस्तेमाल डिफ़ॉल्ट फ़ैक्ट्री के तौर पर किया जाता है
वर्शन 1.1.0-alpha01
2 जुलाई, 2019
androidx.activity:activity:1.1.0-alpha01
और androidx.activity:activity-ktx:1.1.0-alpha01
रिलीज़ हो गए हैं. इस वर्शन में शामिल बदलाव यहां देखे जा सकते हैं.
नई सुविधाएं
activity
अब लाइफ़साइकल2.2.0-alpha02
पर निर्भर करता है. (aosp/1007817)activity-ktx
नेlifecycle-runtime-ktx
पर डिपेंडेंसी जोड़ी है. इसलिए,activity-ktx
याactivity-ktx
पर निर्भर रहने वाली लाइब्रेरी (जैसे किfragment-ktx
) का इस्तेमाल करते समय, आपको इसे अपनी डिपेंडेंसी में साफ़ तौर पर जोड़ने की ज़रूरत नहीं है. (aosp/987162)
वर्शन 1.0.0
वर्शन 1.0.0
5 सितंबर, 2019
androidx.activity:activity:1.0.0
और androidx.activity:activity-ktx:1.0.0
रिलीज़ हो गए हैं. इस वर्शन में शामिल बदलाव यहां देखे जा सकते हैं.
1.0.0 वर्शन की मुख्य सुविधाएं
- ComponentActivity:
ComponentActivity
Fragment1.1.0
मेंFragmentActivity
के लिए नई बेस क्लास के तौर पर काम करता है. साथ ही, AppCompat1.1.0
मेंAppCompatActivity
के लिए भी काम करता है. - activity-ktx:
activity-ktx
मॉड्यूल में, ViewModels को ऐक्सेस करने के लिएby viewModels
Kotlin प्रॉपर्टी एक्सटेंशन शामिल है. Fragment1.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/131416833OnBackPressedCallback
के लिए,remove()
तरीका अब फ़ाइनल हो गया है. aosp/952720OnBackPressedDispatcher
में अब सार्वजनिक कंस्ट्रक्टर हैं. इनकी मदद से, टेस्टिंग वगैरह के लिए अपने इंस्टेंस बनाए जा सकते हैं. aosp/953431ComponentActivity
के लिएonBackPressed()
को अब साफ़ तौर पर@MainThread
aosp/952721 के तौर पर मार्क किया गया है
गड़बड़ियां ठीक की गईं
LifecycleOwner
की मदद से जोड़े गएOnBackPressedCalback
केhandleOnBackPressed()
तरीके सेremove()
को कॉल करते समय,ConcurrentModificationException
को ठीक किया गया. b/131765095
वर्शन 1.0.0-alpha07
25 अप्रैल, 2019
androidx.activity:activity:1.0.0-alpha07
और androidx.activity:activity-ktx:1.0.0-alpha07
रिलीज़ हो गए हैं. इस वर्शन में शामिल बदलाव यहां देखे जा सकते हैं.
एपीआई में हुए बदलाव
इस रिलीज़ में, onBackPressed()
को मैनेज करने के तरीके में अहम बदलाव किए गए हैं. ज़्यादा जानकारी के लिए, अपडेट किया गया कस्टम बैक का दस्तावेज़ देखें.
OnBackPressedCallback
औरOnBackPressedDispatcher
के तरीकों को@MainThread
के तौर पर मार्क किया गया है. (aosp/943813)handleOnBackPressed()
वाला तरीका अबboolean
नहीं दिखाता. इसके बजाय,OnBackPressedCallback
अब एक ऐब्स्ट्रैक्ट क्लास है. इसे चालू या बंद किया जा सकता है.isEnabled()
तरीके के 'सही है' पर सेट होने पर हीhandleOnBackPressed()
को कॉल किया जाएगा. इसमें आपको बैक बटन को ज़रूर हैंडल करना होगा. (aosp/944518)OnBackPressedDispatcher
केaddCallback
तरीके अबCancellable
इंस्टेंस नहीं दिखाते.OnBackPressedCallback
में अब एकremove()
तरीका शामिल है, जो इस सुविधा को पूरा करता है. इससे आपकोhandleOnBackPressed()
के दौरानremove()
को कॉल करने की अनुमति मिलती है. (aosp/944519) (aosp/946316)activity-ktx
में अबaddCallback
के लिए, रिसीवर स्कोप वाला कॉलबैक शामिल है. यहhandleOnBackPressed()
को लागू करने वाले लैम्ब्डा को स्वीकार करता है. साथ ही, इसके पासisEnabled
औरremove()
का ऐक्सेस होता है (aosp/944520)
वर्शन 1.0.0-alpha06
3 अप्रैल, 2019
androidx.activity:activity:1.0.0-alpha06
और androidx.activity:activity-ktx:1.0.0-alpha06
रिलीज़ हो गए हैं. इस वर्शन में शामिल बदलाव यहां देखे जा सकते हैं.
एपीआई में हुए बदलाव
- ComponentActivity में अब दूसरा कंस्ट्रक्टर शामिल है, जो
@LayoutRes int
लेता है. यह आपकी AppCompatActivity क्लास को@ContentView
के साथ एनोटेट करने के पिछले तरीके की जगह लेता है. यह तरीका, ऐप्लिकेशन और लाइब्रेरी मॉड्यूल, दोनों में काम करता है. (b/128352521) - ComponentActivity पर मौजूद
OnBackPressedCallback
से जुड़े एपीआई को बंद कर दिया गया है. अबOnBackPressedDispatcher
का इस्तेमाल किया जा सकता है. इसेgetOnBackPressedDispatcher()
के ज़रिए वापस पाया जा सकता है. (aosp/922523) OnBackPressedDispatcher
में नयाOnBackPressedCallback
जोड़ने के तरीके अबCancellable
ऑब्जेक्ट दिखाते हैं. इससेOnBackPressedDispatcher
के लिए साफ़ तौर पर रेफ़रंस दिए बिना, कॉलबैक को हटाया जा सकता है. (aosp/922523)- अब किसी
LifecycleOwner
से जुड़े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
सेViewModel
s को वापस पाने के लिए, एक नयाby viewModels()
Kotlin प्रॉपर्टी डेलिगेट जोड़ा गया है.onStop()
में, इनपुट इवेंट (जैसे कि क्लिक) अब रद्द कर दिए जाते हैं.
एपीआई में हुए बदलाव
LifecycleOwner
औरViewModelStoreOwner
को लागू करने की सुविधा कोFragmentActivity
सेComponentActivity
में ले जाया गया है.onRetainCustomNonConfigurationInstance
का अब इस्तेमाल नहीं किया जा सकता. कॉन्फ़िगरेशन में बदलाव होने पर भी जिन ऑब्जेक्ट को सुरक्षित रखना है उन्हें सेव करने के लिए,ViewModel
का इस्तेमाल करें.