गतिविधि
नया अपडेट | रिलीज़ किया गया जांचा और परखा हुआ वर्शन | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
---|---|---|---|---|
30 अक्टूबर, 2024 | 1.9.3 | - | - | 1.10.0-alpha03 |
डिपेंडेंसी का एलान करना
गतिविधि पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.
अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle
फ़ाइल में उन आर्टफ़ैक्ट के लिए डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:
ग्रूवी
dependencies { def activity_version = "1.9.2" // Java language implementation implementation "androidx.activity:activity:$activity_version" // Kotlin implementation "androidx.activity:activity-ktx:$activity_version" }
Kotlin
dependencies { val activity_version = "1.9.2" // Java language implementation implementation("androidx.activity:activity:$activity_version") // Kotlin implementation("androidx.activity:activity-ktx:$activity_version") }
डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.
सुझाव
आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या इस लाइब्रेरी को बेहतर बनाने के लिए आपके पास कोई सुझाव है, तो हमें बताएं. नई लाइब्रेरी बनाने से पहले, कृपया इस लाइब्रेरी में मौजूद मौजूदा समस्याओं पर एक नज़र डालें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए अपना वोट जोड़ा जा सकता है.
ज़्यादा जानकारी के लिए, समस्या को ट्रैक करने वाले टूल से जुड़ा दस्तावेज़ देखें.
वर्शन 1.10
वर्शन 1.10.0-alpha03
30 अक्टूबर, 2024
androidx.activity:activity:1.10.0-alpha03
, androidx.activity:activity-compose:1.10.0-alpha03
, और androidx.activity:activity-ktx:1.10.0-alpha03
रिलीज़ हुए हैं. वर्शन 1.10.0-alpha03 में ये कमिट शामिल हैं.
एपीआई में हुए बदलाव
- एक नया
LocalActivity
कंपोज़िशन लोकल जोड़ा गया है, जो मौजूदा दायरे के लिएActivity
उपलब्ध कराता है. इससे डेवलपर कोLocalContext
सेActivity
पाने की ज़रूरत नहीं पड़ती. इसमें एक नया लिंट नियम भी है, जो यह जांच करता है किLocalContext
को गलत तरीके सेActivity
पर कास्ट किया जा रहा है या नहीं. (I7746a, b/283009666)
गड़बड़ियां ठीक की गईं
- गतिविधि
1.9.3
से: हैंडलर बंद होने के बाद,PredictiveBackHandler
अपना कॉलबैक ट्रिगर नहीं करेगा. इससे, नेविगेशन कंपोज़ सेNavHost
कोIndexOutOfBoundsException
के तौर पर इस्तेमाल करने से जुड़ी समस्या ठीक हो जाएगी. (I3f75e, b/365027664, b/340202286)
डिपेंडेंसी अपडेट
- Activity Compose अब Compose Runtime 1.7.0 (I7746a, b/283009666) पर निर्भर करता है
वर्शन 1.10.0-alpha02
4 सितंबर, 2024
androidx.activity:activity:1.10.0-alpha02
, androidx.activity:activity-compose:1.10.0-alpha02
, और androidx.activity:activity-ktx:1.10.0-alpha02
रिलीज़ हो गए हैं. वर्शन 1.10.0-alpha02 में ये कमिट शामिल हैं.
व्यवहार में बदलाव
- अगर सिस्टम फ़ोटो पिकर उपलब्ध नहीं है, तो फ़ोटो पिकर को ट्रिगर करने वाले
PickVisualMedia
औरPickMultipleVisualMedia
गतिविधि के नतीजे के समझौते, अब सीधे Google Play services को नहीं भेजते. हालांकि, वे OEM और सिस्टम ऐप्लिकेशन को फ़ॉलबैक के तौर पर फ़ोटो पिकर का बेहतर अनुभव देने के लिए, सार्वजनिकACTION_SYSTEM_FALLBACK_PICK_IMAGES
कार्रवाई और उससे जुड़ी अन्य सुविधाओं का इस्तेमाल करते हैं. जिन डिवाइसों पर Google Play services का नया वर्शन है उन पर इस बदलाव का कोई असर नहीं पड़ेगा. (I3513d)
गड़बड़ियां ठीक की गईं
- नए प्लैटफ़ॉर्म एपीआई के ऐक्सेस की मैन्युअल आउटलाइन हटाई गई. ऐसा इसलिए, क्योंकि AGP 7.3 या उसके बाद के वर्शन (जैसे कि R8 वर्शन 3.3) के साथ R8 का इस्तेमाल करने पर और एजीपी 8.1 या उसके बाद के वर्शन (जैसे कि D8 वर्शन 8.1) के साथ, R8 का इस्तेमाल करने पर ऐसा अपने-आप होता है. जिन क्लाइंट ने 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
अपने कॉलबैक को ट्रिगर नहीं करेगा. इससे, नेविगेशन कंपोज़ सेNavHost
कोIndexOutOfBoundsException
के तौर पर इस्तेमाल करने से जुड़ी समस्या ठीक हो जाएगी. (I3f75e, b/340202286)
वर्शन 1.9.2
4 सितंबर, 2024
androidx.activity:activity:1.9.2
, androidx.activity:activity-compose:1.9.2
, और androidx.activity:activity-ktx:1.9.2
रिलीज़ हो गए हैं. वर्शन 1.9.2 में ये lthcocommits शामिल हैं.
गड़बड़ियां ठीक की गईं
- एक समस्या को ठीक किया गया है. इसमें, Activity Compose
PredictiveBackHandler
API उस फ़्रेम पर सिस्टम के बैक जेस्चर को मैनेज करता रहता था जिस पर इसे बंद किया गया था. इसकी वजह से, Navigation Compose जैसी लाइब्रेरी, खाली बैक स्टैक के साथ भी बैक को मैनेज कर सकती थीं. इस वजह से,IndexOutOfBoundsException
का मैसेज दिखता था. (Ie3301, b/340202286)
वर्शन 1.9.1
24 जुलाई, 2024
androidx.activity:activity:1.9.1
, androidx.activity:activity-compose:1.9.1
, और androidx.activity:activity-ktx:1.9.1
रिलीज़ हो गए हैं. वर्शन 1.9.1 में ये शर्तें शामिल हैं.
गड़बड़ियां ठीक की गईं
PredictiveBackHandler
से जुड़ी एक समस्या को ठीक किया गया है. इसमें सिस्टम को वापस ले जाने के बाद,OnBackPressedDispatcher
सेonBackPressed
करने की कोशिश करने पर, वह काम नहीं करता था. (I5f1f8)
वर्शन 1.9.0
17 अप्रैल, 2024
androidx.activity:activity:1.9.0
, androidx.activity:activity-compose:1.9.0
, और androidx.activity:activity-ktx:1.9.0
रिलीज़ हो गए हैं. वर्शन 1.9.0 में ये कमिट शामिल हैं.
1.8.0 के बाद किए गए ज़रूरी बदलाव
ComponentActivity
अबOnUserLeaveHintProvider
को लागू करता है, ताकि कॉम्पोनेंटonUserLeaveHint
इवेंट के लिए कॉलबैक कर सकें.OnBackPressedCallback
,BackHandler
, औरPredictiveBackHandler
एपीआई, अब बैक बटन को हैंडल करते समयonBackPressedDispatcher.onBackPressed()
को कॉल करने पर चेतावनी देते हैं. ऐसा इसलिए, क्योंकि इससे प्रिडिक्टिव बैक ऐनिमेशन हमेशा बंद हो जाएगा. ज़्यादा जानकारी के लिए, सबसे सही तरीके बताने वाली गाइड देखें.- बाकी बचे Activity API को Kotlin में फिर से लिखा गया है. साथ ही,
activity-ktx
में पहले से उपलब्ध सभी एक्सटेंशन कोactivity
में ले जाया गया है.activity-ktx
अब पूरी तरह से खाली है.ActivityResultLauncher
को Kotlin में बदलने के दौरान,getContract
तरीका अब एक ऐब्स्ट्रैक्ट Kotlin प्रॉपर्टी है. यह बदलाव, बाइनरी के साथ काम करता है. हालांकि, अगरActivityResultLauncher
को Kotlin में लागू किया गया है, तो यह सोर्स को तोड़ सकता है.
वर्शन 1.9.0-rc01
3 अप्रैल, 2024
androidx.activity:activity:1.9.0-rc01
, androidx.activity:activity-compose:1.9.0-rc01
, और androidx.activity:activity-ktx:1.9.0-rc01
रिलीज़ हो गए हैं. वर्शन 1.9.0-rc01 में ये कमिट शामिल हैं.
डिपेंडेंसी अपडेट
- अब गतिविधि, 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
से: फ़ोटो पिकर गतिविधि अनुबंध केACTION_SYSTEM_FALLBACK_PICK_IMAGES
में दी गई अतिरिक्त जानकारी को ठीक किया गया, ताकि"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
कुंजी के साथ अतिरिक्त का इस्तेमाल करने के बजाय, उसेEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
की सही तरीके से पास किया जा सके. अगर आप OEM हैं और आपने सिस्टम फ़ॉलबैक फ़ोटो पिकर लागू किया है, तो हमारा सुझाव है कि आप दोनों एक्सट्रा फ़ीचर के साथ काम करने के लिए, सिस्टम फ़ॉलबैक फ़ोटो पिकर लागू करें. इससे, ज़्यादा से ज़्यादा डिवाइसों के साथ काम करने की सुविधा मिलती है. (I96a00)
वर्शन 1.9.0-alpha01
29 नवंबर, 2023
androidx.activity:activity:1.9.0-alpha01
, androidx.activity:activity-compose:1.9.0-alpha01
, और androidx.activity:activity-ktx:1.9.0-alpha01
रिलीज़ हुए हैं. 1.9.0-alpha01 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
ComponentActivity
अबOnUserLeaveHintProvider
को लागू करता है, ताकि कॉम्पोनेंटonUserLeaveHint
इवेंट के लिए कॉलबैक कर सकें. (I54892)
एपीआई में हुए बदलाव
ComponentActivity
को Kotlin में फिर से लिखा गया है. (I14f31)ActivityResultCaller
को Kotlin में फिर से लिखा गया है. (Ib02e4)ActivityResultLauncher
को Kotlin में फिर से लिखा गया है. इस कन्वर्ज़न के तहत,getContract
तरीका अब एक एब्स्ट्रैक्ट Kotlin प्रॉपर्टी है. यह बदलाव, बाइनरी के साथ काम करता है. हालांकि, अगरActivityResultLauncher
को Kotlin में लागू किया गया है, तो यह सोर्स को तोड़ सकता है. (Id4615)PickVisualMediaRequest
के लिए, अब एपीआई लेवल 19 ज़रूरी है. यह वही लेवल है जोPickVisualMedia
गतिविधि के नतीजे के लिए कॉन्ट्रैक्ट के लिए ज़रूरी है. (Id6e21)
डिपेंडेंसी अपडेट
- गतिविधि अब कोर
1.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
कुंजी को सही तरीके से पास किया जा सकेगा. अगर आप OEM हैं और आपने सिस्टम फ़ॉलबैक फ़ोटो पिकर लागू किया है, तो हमारा सुझाव है कि आप दोनों एक्सट्रा फ़ीचर के साथ काम करने के लिए, सिस्टम फ़ॉलबैक फ़ोटो पिकर लागू करें. इससे, ज़्यादा से ज़्यादा डिवाइसों के साथ काम करने की सुविधा मिलती है. (I96a00)
वर्शन 1.8.1
15 नवंबर, 2023
androidx.activity:activity:1.8.1
, androidx.activity:activity-compose:1.8.1
, और androidx.activity:activity-ktx:1.8.1
रिलीज़ हो गए हैं. 1.8.1 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- पिछले जेस्चर को इस्तेमाल करने के दौरान, नया
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 ऑब्जेक्ट का एक फ़्लो उपलब्ध कराता है. आपको दिए गए निलंबित किए गए lamba फ़ंक्शन में, इन ऑब्जेक्ट को इकट्ठा करना होगा:
PredictiveBackHandler { progress: Flow<BackEventCompat> ->
// code for gesture back started
try {
progress.collect { backEvent ->
// code for progress
}
// code for completion
} catch (e: CancellationException) {
// code for cancellation
}
}
ComponentActivity.onBackPressed()
को अब बंद कर दिया गया है. इसके बजाय, बैक हैंडलिंग के लिए एपीआई का इस्तेमाल किया जा सकता है. डेवलपर को अब इस तरीके को ओवरराइड करने के बजाय, OnBackPressedDispatcher
का इस्तेमाल करना चाहिए.
- EdgeToEdge -
ComponentActivity.enableEdgeToEdge()
को जोड़ा गया है, ताकि आसानी से किनारे से किनारे तक दिखने वाले डिसप्ले को पुराने सिस्टम के साथ काम करने वाले तरीके से सेट अप किया जा सके.
वर्शन 1.8.0-rc01
20 सितंबर, 2023
androidx.activity:activity:1.8.0-rc01
, androidx.activity:activity-compose:1.8.0-rc01
, और androidx.activity:activity-ktx:1.8.0-rc01
रिलीज़ हो गए हैं. 1.8.0-rc01 वर्शन में ये कमिट शामिल हैं.
वर्शन 1.8.0-beta01
6 सितंबर, 2023
androidx.activity:activity:1.8.0-beta01
, androidx.activity:activity-compose:1.8.0-beta01
, और androidx.activity:activity-ktx:1.8.0-beta01
रिलीज़ हो गए हैं. 1.8.0-beta01 वर्शन में ये बदलाव शामिल हैं.
दस्तावेज़ों को बेहतर बनाना
BackEventCompat
के दस्तावेज़ को बेहतर बनाया गया है. (aosp/2722254)
वर्शन 1.8.0-alpha07
23 अगस्त, 2023
androidx.activity:activity:1.8.0-alpha07
, androidx.activity:activity-compose:1.8.0-alpha07
, और androidx.activity:activity-ktx:1.8.0-alpha07
रिलीज़ हो गए हैं. 1.8.0-alpha07 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
गतिविधि कंपोज़ करने की सुविधा में,
PredictiveBackHandler
Composable जोड़ा गया है. इससे, अनुमानित बैक जेस्चर इवेंट को मैनेज किया जा सकता है. यहBackEventCompat
ऑब्जेक्ट काFlow
दिखाता है. आपको इन ऑब्जेक्ट को, दिए गए निलंबित किए गए lamba में इकट्ठा करना होगा:PredictiveBackHandler { progress: Flow<BackEventCompat> -> // code for gesture back started try { progress.collect { backEvent -> // code for progress } // code for completion } catch (e: CancellationException) { // code for cancellation } }
साथ ही, यह लिंट नियम की मदद से, कंपाइल के समय चेतावनी भी देता है. इससे यह पक्का होता है कि
Flow
,collect()
को कॉल करता है. (Id2773, b/294884345)ComponentActivity
में मौजूदonBackPressedDispatcher
को अब धीरे-धीरे शुरू किया जाता है, ताकि यह सिर्फ़ ज़रूरत पड़ने पर बनाया जाए. (I0bf8e)
गड़बड़ियां ठीक की गईं
- अगर
ComponentActivity
कोonBackPressed()
कॉलबैक मिलता है, तो Android 13 पर एनपीई नहीं दिखेगा और गतिविधि पहले से ही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)
एपीआई में हुए बदलाव
SystemBarStyle.auto
कोenableEdgeToEdge
एपीआई में पास करते समय, अबdetectDarkMode
लैम्डा पैरामीटर को बदला जा सकता है, ताकि नाइट मोड का पता लगाने के लिए कस्टम लॉजिक दिया जा सके. (aosp/2546393, b/278263793)
वर्शन 1.8.0-alpha05
7 जून, 2023
androidx.activity:activity:1.8.0-alpha05
, androidx.activity:activity-compose:1.8.0-alpha05
, और androidx.activity:activity-ktx:1.8.0-alpha05
रिलीज़ हो गए हैं. यह वर्शन, संगठन की किसी अंदरूनी शाखा में डेवलप किया गया है.
एपीआई में बदलाव
- Activity अब
BackEventCompat
क्लास उपलब्ध कराती है, जोBackEvent
के पुराने सिस्टम के साथ काम करने वाले वर्शन के तौर पर काम करती है. यह फ़्रेमवर्कBackEvent
क्लास से अलग होती है. - ब्रेकिंग बदलाव:
OnBackPressedCallback
केhandleOnBackStarted
औरhandleOnBackProgressed
तरीकों को अब फ़्रेमवर्कandroid.window.BackEvent
क्लास के बजायandroidx.activity.BackEventCompat
इंस्टेंस मिलता है.OnBackPressedDispatcher
पर मौजूद,@VisibleForTesting
के बराबर के एपीआई भी अपडेट कर दिए गए हैं. OnBackPressedDispatcher
के कंस्ट्रक्टर में अब एक वैकल्पिकConsumer<Boolean>
इंस्टेंस होता है. इससे डिस्पैचर के मालिकों को कॉलबैक मिलता है. ऐसा तब होता है, जब चालू किए गए कॉलबैक की संख्या शून्य से किसी दूसरी संख्या पर या किसी दूसरी संख्या से शून्य पर बदलती है.
गड़बड़ियां ठीक की गईं
- गतिविधि
1.7.2
से:report
कॉल करने से पहले स्क्रीन से कहीं और जाने पर,ReportDrawn
के क्रैश होने की समस्या ठीक करें. (Ic46f1, b/260506820)
वर्शन 1.8.0-alpha04
10 मई, 2023
androidx.activity:activity:1.8.0-alpha04
, androidx.activity:activity-compose:1.8.0-alpha04
, और androidx.activity:activity-ktx:1.8.0-alpha04
रिलीज़ हो गए हैं. इसे किसी इंटरनल शाखा से रिलीज़ किया गया था.
गड़बड़ियां ठीक की गईं
- Activity 1.7.1 से: -
ActivityScenario
के साथComponentActivity
का इस्तेमाल करने पर,ReportFullyDrawExecuter
अब लीक नहीं होता. (Id2ff2, b/277434271)
वर्शन 1.8.0-alpha03
12 अप्रैल, 2023
androidx.activity:activity:1.8.0-alpha03
, androidx.activity:activity-compose:1.8.0-alpha03
, और androidx.activity:activity-ktx:1.8.0-alpha03
रिलीज़ हो गए हैं. इसे किसी इंटरनल शाखा से रिलीज़ किया गया था.
नई सुविधाएं
- एज-टू-एज डिसप्ले को आसानी से सेट अप करने के लिए,
ComponentActivity.setUpEdgeToEdge()
जोड़ा गया है. यह सुविधा, पुराने सिस्टम के साथ काम करती है.
एपीआई में हुए बदलाव
ComponentActivity.onBackPressed()
को अब वापस हैंडल करने के लिए एपीआई के पक्ष में बंद कर दिया गया है. डेवलपर को अब इस तरीके को ओवरराइड करने के बजाय,OnBackPressedDispatcher
का इस्तेमाल करना चाहिए. (Ibce2f, b/271596918)ComponentDialog
औरComponentActivity
में अब सार्वजनिक एपीआईinitViewTreeOwners()
शामिल है. इसका इस्तेमाल, कॉन्टेंट व्यू सेट करने से पहले, व्यू ट्री के सभी मालिकों को शुरू करने के लिए किया जाता है. (Ibdce0, b/261314581)
गड़बड़ियां ठीक की गईं
- एक समस्या को ठीक किया गया है. इस समस्या की वजह से, फ़्रैगमेंट, मेन्यूहोस्ट को गलत तरीके से अमान्य कर रहे थे. इस वजह से, गतिविधि में मौजूद अन्य मेन्यू का व्यवहार अनचाहा हो रहा था. (I9404e, b/244336571)
अन्य बदलाव
ActivityResultRegister
में अब Java के बजाय, 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
के उपलब्ध न होने पर, एक और फ़ॉलबैक शामिल किया जा सके. इससे OEM और Google Play services जैसे सिस्टम ऐप्लिकेशन, फ़ॉलबैक ऐक्शन लागू करके, Android डिवाइसों और एपीआई लेवल की एक बड़ी रेंज पर फ़ोटो पिकर का बेहतर अनुभव दे पाएंगे. अगर यह फ़ॉलबैक उपलब्ध होगा, तो फ़ोटो पिकर इसका इस्तेमाल करेगा. इसके बाद, यहIntent.ACTION_OPEN_DOCUMENT
का इस्तेमाल करेगा.Intent.ACTION_OPEN_DOCUMENT
, एपीआई 19 और उसके बाद के वर्शन वाले सभी डिवाइसों पर काम करता है.ComponentDialog
अबSavedStateRegistryOwner
लागू करता है और उसके पास अपनेSavedStateRegistry
का ऐक्सेस होता है. साथ ही, वह अपनेViewTree
के लिएSavedStateRegistryOwner
सेट करता है. अबComponentDialog
में Jetpack Compose का इस्तेमाल किया जा सकता है, क्योंकि यहViewTree
एपीआई की ज़रूरी शर्तों के ज़रिए, विंडो से जुड़ेLifecycleOwner
औरSavedStateRegistryOwner
, दोनों को पूरा करता है.IntentSenderRequest.Builder.setFlags()
की मदद से, अबIntent
से एक से ज़्यादा फ़्लैग सेट किए जा सकते हैं.
Kotlin की कन्वर्ज़न
ऐक्टिविटी क्लास को Kotlin में बदल दिया गया है. बदली गई सभी कक्षाएं, अब भी पिछले वर्शन के साथ बाइनरी के तौर पर काम करती हैं. यहां दी गई क्लास में, Kotlin में लिखी गई क्लास के लिए सोर्स के साथ काम न करने वाले बदलाव किए गए हैं: ActivityResultRegistryOwner
, OnBackPressedDispatcherOwner
.
नीचे दी गई टेबल में, गतिविधि के नए वर्शन के लिए सोर्स कन्वर्ज़न की जानकारी दी गई है:
गतिविधि 1.5 | गतिविधि 1.6 |
---|---|
override fun getActivityResultRegistry() = activityResultRegistry |
override val activityResultRegistry = activityResultRegistry |
override fun getOnBackPressedDispatcher() = onBackPressedDispatcher |
override val onBackPressedDispatcher = onBackPressedDispatcher |
इन क्लास को Kotlin में भी बदला गया था, लेकिन ये सोर्स के साथ काम करते हैं: ContextAware
, ContextAwareHelper
, OnContextAvailableListener
, IntentSenderRequest
, और OnBackPressedDispatcher
FullyDrawnReporter API
ComponentActivity
अब एक FullyDrawnReporter
इंस्टेंस उपलब्ध कराता है. इससे कई कॉम्पोनेंट, इंटरैक्शन के लिए तैयार होने पर रिपोर्ट कर सकते हैं. ComponentActivity
आपकी ओर से reportFullyDrawn()
को कॉल करने से पहले, सभी कॉम्पोनेंट के पूरा होने का इंतज़ार करेगा. ये एपीआई, समय से जुड़ी ज़रूरी शर्तों को पूरा करते हैं. साथ ही, इन्हें onDraw
कॉल के हिस्से के तौर पर कॉल करने की ज़रूरत नहीं होती.
इन एपीआई को चालू करने का सुझाव दिया जाता है:
- स्टार्टअप पूरा होने पर Android रनटाइम को सिग्नल करना, ताकि यह पक्का किया जा सके कि मल्टी-फ़्रेम स्टार्टअप क्रम के दौरान चलने वाले सभी कोड को शामिल किया गया है और बैकग्राउंड में कंपाइलेशन के लिए प्राथमिकता दी गई है.
- जब आपके ऐप्लिकेशन को स्टार्टअप मेट्रिक के लिए पूरी तरह से तैयार माना जाना चाहिए, तब मैक्रोबेंचमार्क और Play की ज़रूरी जानकारी देने वाली सुविधा को सिग्नल भेजना, ताकि परफ़ॉर्मेंस को ट्रैक किया जा सके.
अलग-अलग कंपोज़ेबल में मौजूद FullyDrawnReporter
को आसानी से इस्तेमाल करने के लिए, ऐक्टिविटी कंपोज़ की सुविधा के तीन एपीआई जोड़े गए हैं:
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 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
MediaStore.ACTION_PICK_IMAGES
के उपलब्ध न होने पर,PickVisualMedia
औरPickMultipleVisualMedia
कॉन्ट्रैक्ट में फ़ॉलबैक के तौर पर इस्तेमाल की जाने वाली कार्रवाई और एक्सट्रा, अब सार्वजनिक कॉन्स्टेंट हैं. ये कॉन्स्टेंट, OEM और सिस्टम ऐप्लिकेशन को एपीआई की स्थिरता देते हैं, ताकि वे फ़ोटो पिकर का बेहतर अनुभव दे सकें. फ़ॉलबैक मोड को अब भी सिर्फ़ सिस्टम ऐप्लिकेशन के लिए लागू किया गया है. (Icd320)
वर्शन 1.7.0-beta01
8 फ़रवरी, 2023
androidx.activity:activity:1.7.0-beta01
, androidx.activity:activity-compose:1.7.0-beta01
, और androidx.activity:activity-ktx:1.7.0-beta01
रिलीज़ हुए हैं. वर्शन 1.7.0-beta01 में ये कमिट हैं.
नई सुविधाएं
IntentSenderRequest.Builder.setFlags()
की मदद से, अबIntent
से एक से ज़्यादा फ़्लैग सेट किए जा सकते हैं. (Iac04c)
गड़बड़ियां ठीक की गईं
- फ़्रेमवर्क फ़ोटो पिकर उपलब्ध न होने पर,
PickVisualMedia
का फ़ॉलबैक, अब सही तरीके से हैंडलिंग को डिवाइस की सिस्टम इमेज में इंस्टॉल किए गए ऐप्लिकेशन तक सीमित कर देता है. (If8ae6)
Kotlin कन्वर्ज़न
ActivityResultRegistryOwner
अब Kotlin में लिखा गया है. Kotlin में लिखी गई क्लास के लिए, यह सोर्स के साथ काम न करने वाला बदलाव है. अब आपको पिछलेgetActivityResultRegistry()
फ़ंक्शन को लागू करने के बजाय,activityResultRegistry
प्रॉपर्टी को बदलना होगा. (I0b00e)OnBackPressedDispatcherOwner
अब Kotlin में लिखा गया है. यह Kotlin में लिखी गई उन क्लास के लिए सोर्स के साथ काम न करने वाला बदलाव है - अब आपको पिछलेgetOnBackPressedDispatcher
फ़ंक्शन को लागू करने के बजाय,onBackPressedDispatcher
प्रॉपर्टी को बदलना होगा. (Ia277d)ContextAware
,ContextAwareHelper
,OnContextAvailableListener
,IntentSenderRequest
, औरOnBackPressedDispatcher
को अब Kotlin में लिखा गया है. (I1a73e, Iada92, aosp/2410754, I18ac7, b/257291701)
वर्शन 1.7.0-alpha04
25 जनवरी, 2023
androidx.activity:activity:1.7.0-alpha04
, androidx.activity:activity-compose:1.7.0-alpha04
, और androidx.activity:activity-ktx:1.7.0-alpha04
रिलीज़ हो गए हैं. 1.7.0-alpha04 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
PickVisualMedia
औरPickMultipleVisualMedia
गतिविधि के नतीजे से जुड़े कानूनी समझौते, अब Google Play services के फ़ोटो पिकर का इस्तेमाल करेंगे.हालांकि, ऐसा सिर्फ़ उन मामलों में होगा जहां Android सिस्टम का फ़ोटो पिकर उपलब्ध हो. उदाहरण के लिए,MediaStore.ACTION_PICK_IMAGES
) उपलब्ध नहीं है.isPhotoPickerAvailable()
API को बंद कर दिया गया है. यह सिर्फ़ Android सिस्टम में मौजूद फ़ोटो पिकर का पता लगाता था. हमारा सुझाव है कि नएisPhotoPickerAvailable(Context)
एपीआई का इस्तेमाल करें. यह एपीआई तब दिखेगा, जब कोई भी फ़ोटो पिकर उपलब्ध होगा. (I55be6)
वर्शन 1.7.0-alpha03
11 जनवरी, 2023
androidx.activity:activity:1.7.0-alpha03
, androidx.activity:activity-compose:1.7.0-alpha03
, और androidx.activity:activity-ktx:1.7.0-alpha03
रिलीज़ हुए हैं. वर्शन 1.7.0-alpha03 में ये कमिट हैं.
नई सुविधाएं
ComponentDialog
अबSavedStateRegistryOwner
लागू करता है और उसके पास अपनेSavedStateRegistry
का ऐक्सेस होता है. साथ ही, वह अपने ViewTree के लिएSavedStateRegistryOwner
सेट करता है. अबComponentDialog
में Jetpack Compose का इस्तेमाल किया जा सकता है, क्योंकि यह ViewTree APIs की ज़रूरी शर्तों के ज़रिए, विंडो से जुड़ेLifecycleOwner
औरSavedStateRegistryOwner
, दोनों को पूरा करता है. (Idca17, I73468 b/261162296)
एपीआई में हुए बदलाव
ReportDrawn
कॉम्पोज़ेबल जोड़ा गया है, जो गतिविधि को तुरंत कॉल करने के लिए तैयार के तौर पर मार्क करता हैreportFullyDrawn
. (Ic5b14, b/259687964)
Kotlin कन्वर्ज़न
- सोर्स और बाइनरी के साथ काम करते हुए,
ActvitiyResultCallback
औरOnBackPressedCallback
, दोनों क्लास को Kotlin में बदल दिया गया है. (Ifc5e5, Ide1b0, b/257291701)
वर्शन 1.7.0-alpha02
24 अक्टूबर, 2022
androidx.activity:activity:1.7.0-alpha02
, androidx.activity:activity-compose:1.7.0-alpha02
, और androidx.activity:activity-ktx:1.7.0-alpha02
रिलीज़ हो गए हैं. 1.7.0-alpha02 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- ऐक्टिविटी
1.6.1
से:maxItems
की डिफ़ॉल्ट वैल्यू का इस्तेमाल करने पर, Android R डिवाइसों परPickMultipleVisualMedia
ऐक्टिविटी के नतीजे का अनुबंध लॉन्च न होने की समस्या को ठीक किया गया. (Ie2776, b/249182130)
वर्शन 1.7.0-alpha01
5 अक्टूबर, 2022
androidx.activity:activity:1.7.0-alpha01
, androidx.activity:activity-compose:1.7.0-alpha01
, और androidx.activity:activity-ktx:1.7.0-alpha01
रिलीज़ हो गए हैं. 1.7.0-alpha01 वर्शन में ये बदलाव शामिल हैं.
FullyDrawnreporter एपीआई
ComponentActivity
अब एक FullyDrawnReporter
इंस्टेंस उपलब्ध कराता है. इससे कई कॉम्पोनेंट, इंटरैक्शन के लिए तैयार होने पर रिपोर्ट कर सकते हैं. ComponentActivity
आपकी ओर से reportFullyDrawn()
को कॉल करने से पहले, सभी कॉम्पोनेंट के पूरा होने का इंतज़ार करेगा. ये एपीआई, समय से जुड़ी ज़रूरी शर्तों को पूरा करते हैं. साथ ही, इन्हें onDraw
कॉल के हिस्से के तौर पर कॉल करने की ज़रूरत नहीं होती.
इन एपीआई को चालू करने का सुझाव दिया जाता है:
- स्टार्टअप पूरा होने पर Android रनटाइम को सिग्नल करना, ताकि यह पक्का किया जा सके कि मल्टी-फ़्रेम स्टार्टअप क्रम के दौरान चलने वाले सभी कोड को शामिल किया गया है और बैकग्राउंड में कंपाइलेशन के लिए प्राथमिकता दी गई है.
- जब आपके ऐप्लिकेशन को स्टार्टअप मेट्रिक के लिए पूरी तरह से तैयार माना जाना चाहिए, तब मैक्रोबेंचमार्क और Play की ज़रूरी जानकारी देने वाली सुविधा को सिग्नल भेजना, ताकि परफ़ॉर्मेंस को ट्रैक किया जा सके.
अलग-अलग कॉम्पोज़ेबल से FullyDrawnReporter
का इस्तेमाल आसानी से करने के लिए, दो Activity Compose API जोड़े गए हैं:
ReportDrawnWhen
एक प्रेडिकेट लेता है (यानी,list.count > 0
), ताकि यह बताया जा सके कि आपका कंपोज़ेबल कब इंटरैक्शन के लिए तैयार होगा.ReportDrawnAfter
, निलंबित करने का ऐसा तरीका अपनाता है जो पूरा होने पर, यह बताता है कि आप इंटरैक्शन के लिए तैयार हैं.
वर्शन 1.6.1
वर्शन 1.6.1
24 अक्टूबर, 2022
androidx.activity:activity:1.6.1
, androidx.activity:activity-compose:1.6.1
, और androidx.activity:activity-ktx:1.6.1
रिलीज़ हो गए हैं. वर्शन 1.6.1 में ये कमियां शामिल हैं.
गड़बड़ियां ठीक की गईं
maxItems
की डिफ़ॉल्ट वैल्यू का इस्तेमाल करने पर, Android R डिवाइसों परPickMultipleVisualMedia
गतिविधि के नतीजे का अनुबंध लॉन्च न होने की समस्या को ठीक किया गया. (Ie2776, b/249182130)
वर्शन 1.6.0
वर्शन 1.6.0
21 सितंबर, 2022
androidx.activity:activity:1.6.0
, androidx.activity:activity-compose:1.6.0
, और androidx.activity:activity-ktx:1.6.0
रिलीज़ हो गए हैं. 1.6.0 वर्शन में ये बदलाव शामिल हैं.
1.5.0 के बाद किए गए अहम बदलाव
- पुराने सिस्टम के साथ काम करने वाला कानूनी समझौता उपलब्ध कराने के लिए,
ActivityResultContracts.PickVisualMedia
औरActivityResultContracts.PickMultipleVisualMedia
जोड़े गए हैं. फ़ोटो पिकर उपलब्ध होने पर,MediaStore.ACTION_PICK_IMAGES
का इस्तेमाल किया जाता है और उपलब्ध न होने परIntent.ACTION_OPEN_DOCUMENT
का इस्तेमाल किया जाता है. - Android 13 में
OnBackInvokedCallback
कोComponentActivity
औरComponentDialog
की ओर से दिए गएOnBackPressedDispatchers
में इंटिग्रेट किया गया. इससे यह पक्का होता है किOnBackPressedDispatcher
पर बनाए गए सभी एपीआई, 'वापस जाने के अनुमानित जेस्चर' की सुविधा चालू होने पर काम करते हैं.
वर्शन 1.6.0-rc02
7 सितंबर, 2022
androidx.activity:activity:1.6.0-rc02
, androidx.activity:activity-compose:1.6.0-rc02
, और androidx.activity:activity-ktx:1.6.0-rc02
रिलीज़ हो गए हैं. 1.6.0-rc02 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
OnBackPressedDispatcher
, अबOnBackInvokedCallback
कोPRIORITY_OVERLAY
के बजायPRIORITY_DEFAULT
के साथ रजिस्टर करता है. (I3901f)ComponentActivity
को बढ़ाने वाली क्लास के दोनोंonMultiWindowModeChanged()
कॉलबैक हमेशा भेजे जाएंगे. (Ic4d85)- जब
launch
कॉल परException
कॉल आता है, तो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 वर्शन में ये कमिट शामिल हैं.
गड़बड़ियां ठीक की गईं
- SDK टूल के 33 से पहले के वर्शन का इस्तेमाल करने पर,
OnBackPressedDispatcher
को शुरू करने से अबClassVerificationError
नहीं दिखेंगे. (Ic32e1) ComponentActivity
केonPictureInPictureModeChanged()
कॉलबैक को बदलने वाली क्लास के लिए, अब हमेशा कॉलबैक डिस्पैच किए जाएंगे. (Ib7fdb)
वर्शन 1.6.0-beta01
10 अगस्त, 2022
androidx.activity:activity:1.6.0-beta01
, androidx.activity:activity-compose:1.6.0-beta01
, और androidx.activity:activity-ktx:1.6.0-beta01
रिलीज़ हुए हैं. वर्शन 1.6.0-beta01 में ये कमिट हैं.
एपीआई में हुए बदलाव
ComponentActivity
पर, इस्तेमाल नहीं किए जाने वालेstartActivityForResult
औरstartIntentSenderForResult
तरीकों को@NonNull
के साथ मार्क किया गया है. ऐसा इसलिए किया गया है, क्योंकिnull
को पास करने पर हमेशा क्रैश होता है. (Id2a25, b/231476082)
गड़बड़ियां ठीक की गईं
- गतिविधि
1.5.1
से: जबlaunch
कॉल किसी भी तरह काException
दिखाता है और कॉलबैक कोLifecycleOwner
के बिना रजिस्टर किया गया था, तोActivityResultRegistry
अबActivityResultCallback
को नतीजा नहीं दिखाएगा. (Ia7ff7, b/238350794) - गतिविधि
1.5.1
से:ComponentActivity
, अब मेन्यू कॉल कोonPrepareOptionMenu()
,onCreateOptionsMenu()
, औरonOptionsItemSelected()
को सही तरीके से भेजेगा. इसके लिए, सुपर फ़ंक्शन को कॉल करने की ज़रूरत नहीं होगी. (Ie33c5, b/238057118)
डिपेंडेंसी अपडेट
- गतिविधि
1.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 को रिलीज़ से पहले की निजी शाखा में डेवलप किया गया था. इसमें कोई सार्वजनिक कमिट नहीं है.
एपीआई में हुए बदलाव
- Tiramisu Beta 3 SDK के साथ अलाइन करने के लिए,
minCompileSdk
अब 33 है
गड़बड़ियां ठीक की गईं
PickVisualMedia
ActivityResultContract
के लिए SDK टूल के एक्सटेंशन की जांच करते समय, पुराने डिवाइसों पर क्रैश होने की समस्या को ठीक किया गया है. इससे, यह अब Android 10 और उससे पहले के वर्शन परACTION_OPEN_DOCUMENT
के साथ काम करेगा.
वर्शन 1.6.0-alpha04
18 मई, 2022
androidx.activity:activity:1.6.0-alpha04
और androidx.activity:activity-ktx:1.6.0-alpha04
रिलीज़ हुई हैं.
गड़बड़ियां ठीक की गईं
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
का इस्तेमाल किया जाता है. - Android 13 के डेवलपर बीटा वर्शन 1 में मौजूद
OnBackInvokedCallback
को,ComponentActivity
की ओर से उपलब्ध कराए गएOnBackPressedDispatcher
में इंटिग्रेट किया गया. इससे यह पक्का होता है कि अनुमानित बैक जेस्चर को चालू करने पर,OnBackPressedDispatcher
पर बनाए गए सभी एपीआई काम करते हैं.
वर्शन 1.6.0-alpha01
23 मार्च, 2022
androidx.activity:activity:1.6.0-alpha01
, androidx.activity:activity-compose:1.6.0-alpha01
, और androidx.activity:activity-ktx:1.6.0-alpha01
रिलीज़ हो गए हैं.
- ध्यान दें: यह वर्शन सिर्फ़ Android 13 के लिए डेवलपर झलक 2 SDK टूल के हिसाब से कंपाइल किया जाएगा.
नई सुविधाएं
- Android 13 के डेवलपर प्रीव्यू 2 में किए गए बदलावों को
ComponentActivity
में इंटिग्रेट किया गया है.
संस्करण 1.5.1
संस्करण 1.5.1
27 जुलाई, 2022
androidx.activity:activity:1.5.1
, androidx.activity:activity-compose:1.5.1
, और androidx.activity:activity-ktx:1.5.1
रिलीज़ हो गए हैं. 1.5.1 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
जब
launch()
कॉल पर कोईException
आता है और कॉलबैक कोLifecycleOwner
के बिना रजिस्टर किया जाता है, तोActivityResultRegistry
,ActivityResultCallback
पर कोई नतीजा नहीं दिखाएगा. (Ia7ff7, b/238350794)ComponentActivity
अब सुपर फ़ंक्शन को कॉल किए बिना,onPrepareOptionMenu()
,onCreateOptionsMenu()
, औरonOptionsItemSelected()
ओवरराइड के लिए मेन्यू कॉल को सही तरीके से डिस्पैच करेगा. (Ie33c5, b/238057118)
डिपेंडेंसी अपडेट करना
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
अब लाइफ़साइकल2.5.0
केCreationExtras
की मदद से, स्टेटलेसViewModelProvider.Factory
उपलब्ध करा सकता है.
दूसरे बदलाव
ActivityResultContracts.CreateDocument
के लिए, बिना पैरामीटर वाले कंस्ट्रक्टर को बंद कर दिया गया है और उसे एक नए कंस्ट्रक्टर से बदल दिया गया है. यह कंस्ट्रक्टर, कोई खास एमआईएम टाइप (उदाहरण के लिए, "image/png")Intent.ACTION_CREATE_DOCUMENT
की ज़रूरत के हिसाब से डालें.
वर्शन 1.5.0-rc01
11 मई, 2022
androidx.activity:activity:1.5.0-rc01
, androidx.activity:activity-compose:1.5.0-rc01
, और androidx.activity:activity-ktx:1.5.0-rc01
को 1.5.0-beta01 के बिना किसी बदलाव के रिलीज़ किया गया है. 1.5.0-rc01 वर्शन में ये बदलाव शामिल हैं.
वर्शन 1.5.0-beta01
20 अप्रैल, 2022
androidx.activity:activity:1.5.0-beta01
, androidx.activity:activity-compose:1.5.0-beta01
, और androidx.activity:activity-ktx:1.5.0-beta01
रिलीज़ हो गए हैं. 1.5.0-beta01 वर्शन में ये बदलाव शामिल हैं.
डिपेंडेंसी से जुड़े अपडेट
- ऐक्टिविटी अब लाइफ़साइकल
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 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- अब
CreationExtras
को गतिविधिby viewModels()
फ़ंक्शन (I6a3e6, b/217600303) में पास किया जा सकता है
वर्शन 1.5.0-alpha02
9 फ़रवरी, 2022
androidx.activity:activity:1.5.0-alpha02
, androidx.activity:activity-compose:1.5.0-alpha02
, और androidx.activity:activity-ktx:1.5.0-alpha02
रिलीज़ हो गए हैं. 1.5.0-alpha02 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
ComponentActivity
अबOnPictureInPictureModeChangedProvider
इंटरफ़ेस को लागू करता है, ताकि किसी भी कॉम्पोनेंट को 'पिक्चर में पिक्चर' मोड में बदलाव इवेंट मिल सकें. (I9f567)ComponentActivity
अबOnMultiWindowModeChangedProvider
इंटरफ़ेस लागू करता है, ताकि किसी भी कॉम्पोनेंट को मल्टी-विंडो मोड में बदलाव के इवेंट मिल सकें. (I62d91)
वर्शन 1.5.0-alpha01
26 जनवरी, 2022
androidx.activity:activity:1.5.0-alpha01
, androidx.activity:activity-compose:1.5.0-alpha01
, और androidx.activity:activity-ktx:1.5.0-alpha01
रिलीज़ हो गए हैं. 1.5.0-alpha01 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
ComponentActivity
अब ViewModel CreationExtras के साथ इंटिग्रेट हो गया है. इसे लाइफ़साइकल2.5.0-alpha01
के हिस्से के तौर पर लॉन्च किया गया था. (Ie7e00, b/207012584)ComponentDialog
जोड़ा गया, जोDialog
का एक सबक्लास है. इसमें एकOnBackPressedDispatcher
शामिल है, जिसे डायलॉग दिखने पर, सिस्टम के 'वापस जाएं' बटन को दबाने पर कॉल किया जाएगा. अहम बात यह है कि यह सब-क्लास भीViewTreeOnBackPressedDispatcherOwner
को सेट करती है. इससे व्यू को एक सामान्य तरीके से सही डिस्पैचर का पता लगाने में मदद मिलती है, भले ही वहComponentActivity
याComponentDialog
में मौजूद हो. (I8a1bc)ComponentActivity
अब नयाOnNewIntentProvider
इंटरफ़ेस लागू करता है, ताकि किसी भी कॉम्पोनेंट को ये इवेंट मिल सकें. (If1f8b)ComponentActivity
अब नयाOnConfigurationChangedProvider
इंटरफ़ेस लागू करता है, ताकि किसी भी कॉम्पोनेंट को ये इवेंट मिल सकें. (If623b)ComponentActivity
अब नयाOnTrimMemoryProvider
इंटरफ़ेस लागू करता है, ताकि किसी भी कॉम्पोनेंट को ये इवेंट मिल सकें. (Ia9295)
एपीआई में हुए बदलाव
ActivityResultContracts.CreateDocument
के लिए, बिना पैरामीटर वाले कंस्ट्रक्टर का इस्तेमाल बंद कर दिया गया है.साथ ही, इसे एक नए कंस्ट्रक्टर से बदल दिया गया है. यह कंस्ट्रक्टर, कॉन्क्रीट MIME टाइप (उदाहरण के लिए,"image/png"
) कोIntent.ACTION_CREATE_DOCUMENT
के मुताबिक सेट किया गया है. (I2bec6)- किसी व्यू से जुड़े
OnBackPressedDispatcherOwner
को अबContext
को कास्ट करने के बजाय,ViewTreeOnBackPressedDispatcherOwner
की मदद से वापस पाया जा सकता है. (I74685)
गड़बड़ियां ठीक की गईं
registerForActivityResult()
कॉलबैक से पहली बारViewModel
को ऐक्सेस करते समय क्रैश होने की समस्या को ठीक किया गया. साथ ही,ComponentActivity
केinit
के हिस्से के तौर पर जोड़े गएLifecycleObserver
के कॉलबैक को ऐक्सेस करते समय क्रैश होने की समस्या को भी ठीक किया गया. (Ife83f)
वर्शन 1.4.0
वर्शन 1.4.0
27 अक्टूबर, 2021
androidx.activity:activity:1.4.0
, androidx.activity:activity-compose:1.4.0
, और androidx.activity:activity-ktx:1.4.0
रिलीज़ हो गए हैं. वर्शन 1.4.0 में ये कमियां शामिल हैं.
1.3.0 के बाद से हुए अहम बदलाव
- AndroidX
ComponentActivity
अबMenuHost
इंटरफ़ेस को लागू करता है. इससे, किसी भी कॉम्पोनेंट को गतिविधि मेंMenuProvider
इंस्टेंस जोड़कर,ActionBar
में मेन्यू आइटम जोड़ने की अनुमति मिलती है. हरMenuProvider
कोLifecycle
के साथ जोड़ा जा सकता है. यहLifecycle
की स्थिति के आधार पर, मेन्यू आइटम के दिखने की सेटिंग को अपने-आप कंट्रोल करेगा. साथ ही,Lifecycle
के खत्म होने परMenuProvider
को हटाने की प्रोसेस को मैनेज करेगा. ActivityResultContract
क्लास को Kotlin में फिर से लिखा गया है, ताकि यह पक्का किया जा सके कि Kotlin में कस्टम कॉन्ट्रैक्ट लिखने वाले डेवलपर, अपनी इनपुट और आउटपुट क्लास के लिए, वैल्यू न होने की सही स्थिति तय कर सकें.ActivityResultContracts
क्लास और उसके कॉन्ट्रैक्ट को Kotlin में फिर से लिखा गया है, ताकि यह पक्का किया जा सके कि वैल्यू शून्य हो सकती है या नहीं.
वर्शन 1.4.0-rc01
13 अक्टूबर, 2021
androidx.activity:activity:1.4.0-rc01
, androidx.activity:activity-compose:1.4.0-rc01
, और androidx.activity:activity-ktx:1.4.0-rc01
रिलीज़ हुए हैं. 1.4.0-rc01 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- जब
launch
कॉल में कोईException
मिलता है, तोActivityResultRegistry
,ActivityResultCallback
को कोई नतीजा नहीं दिखाएगा. (If4f91, b/200845664)
वर्शन 1.4.0-beta01
29 सितंबर, 2021
androidx.activity:activity:1.4.0-beta01
, androidx.activity:activity-compose:1.4.0-beta01
, और androidx.activity:activity-ktx:1.4.0-beta01
रिलीज़ हो गए हैं. 1.4.0-beta01 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
ActivityResultContracts.OpenMultipleDocuments
औरActivityResultContracts.GetMultipleContents
के टाइप को ठीक किया गया. इस वजह से, Java प्रोग्रामिंग भाषा के कोड का इस्तेमाल करते समय,List<? extends Uri>
के आउटपुट टाइप का इस्तेमाल किया गया. (If71de)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)
एपीआई में हुए बदलाव
- Kotlin में
ActivityResultContract
क्लास को फिर से लिखा गया है, ताकि यह पक्का किया जा सके कि 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
पर निर्भर करती है. - गतिविधि लिखने की सुविधा अब 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 वर्शन में ये बदलाव शामिल हैं.
01.2.0 के बाद से हुए अहम बदलाव
- Activity Compose आर्टफ़ैक्ट -
activity-compose
आर्टफ़ैक्ट, किसी गतिविधि में Jetpack Compose यूज़र इंटरफ़ेस को होस्ट करने के लिए,setContent
एक्सटेंशन का तरीका उपलब्ध कराता है. साथ ही, सिस्टम के 'वापस जाएं' बटन और Activity Result API को मैनेज करने के लिए,ComponentActivity
एपीआई के साथ इंटरैक्ट करने के लिए Compose के खास रैपर उपलब्ध कराता है. ज़्यादा जानकारी के लिए, दस्तावेज़ देखें. - कैप्चरवीडियो कॉन्ट्रैक्ट -
CaptureVideo
ActivityResultContract
, अब काम नहीं करने वालेTakeVideo
कॉन्ट्रैक्ट की जगह ले लेता है और सक्सेस मैसेज दिखाने वाला बूलियन दिखाता है जो कई कैमरा ऐप्लिकेशन पर काम करता है. - 'पिक्चर में पिक्चर' मोड के हिंट व्यू को ट्रैक करना -
activity-ktx
के उपयोगकर्ता अबActivity
परtrackPipAnimationHintView
एक्सटेंशन के तरीके का इस्तेमाल करके,PictureInPictureParams
को अपने-आप फिर से बना सकते हैं. ऐसा तब होता है, जब व्यू की पोज़िशन, विंडो के हिसाब से बदलती है.
वर्शन 1.3.0-rc02
14 जुलाई, 2021
androidx.activity:activity:1.3.0-rc02
, androidx.activity:activity-compose:1.3.0-rc02
, और androidx.activity:activity-ktx:1.3.0-rc02
रिलीज़ हो गए हैं. 1.3.0-rc02 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
ActivityResultRegistry
कॉलबैक अब ठीक से सेव और वापस लाए जाते हैं, ताकि savedState में कॉलबैक डुप्लीकेट न हों. (I97816, b/191893160)
वर्शन 1.3.0-rc01
1 जुलाई, 2021
androidx.activity:activity:1.3.0-rc01
, androidx.activity:activity-compose:1.3.0-rc01
, और androidx.activity:activity-ktx:1.3.0-rc01
को 1.3.0-beta02
के बिना किसी बदलाव के रिलीज़ किया गया है. 1.3.0-rc01 वर्शन में ये बदलाव शामिल हैं.
वर्शन 1.3.0-beta02
16 जून, 2021
androidx.activity:activity:1.3.0-beta02
, androidx.activity:activity-compose:1.3.0-beta02
, और androidx.activity:activity-ktx:1.3.0-beta02
रिलीज़ हो गए हैं. वर्शन 1.3.0-beta02 में ये कमिट हैं.
activity-compose
को अपडेट किया गया, ताकि यह लिखें 1.0.0-beta09
पर निर्भर हो. androidx.compose.ui:ui-test-junit4
अब activity-compose
पर कंपाइल टाइम डिपेंडेंसी है.
वर्शन 1.3.0-beta01
2 जून, 2021
androidx.activity:activity:1.3.0-beta01
, androidx.activity:activity-compose:1.3.0-beta01
, और androidx.activity:activity-ktx:1.3.0-beta01
रिलीज़ हो गए हैं. 1.3.0-beta01 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- पहले इस्तेमाल किए जा रहे
@Composable registerForActivityResult()
तरीके को हटा दिया गया है. कृपयाrememberLauncherForActivityResult()
का इस्तेमाल करें. (Ic39d3)
वर्शन 1.3.0-alpha08
18 मई, 2021
androidx.activity:activity:1.3.0-alpha08
, androidx.activity:activity-compose:1.3.0-alpha08
, और androidx.activity:activity-ktx:1.3.0-alpha08
रिलीज़ हो गए हैं. वर्शन 1.3.0-alpha08 में ये कमियां हैं.
नई सुविधाएं
- नया
CaptureVideo
ActivityResultContract
, आपकेActivityResultCallback
में एक बोलियन वैल्यू दिखाता है. इससे पता चलता है कि आपका वीडियो, दिए गए यूआरआई में सेव हो गया है या नहीं. यह अब काम न करने वालेTakeVideo
कॉन्ट्रैक्ट की जगह ले लेता है. ऐसा इसलिए है, क्योंकि कैमरा ऐप्लिकेशन बहुत कम ही थंबनेल बिटमैप दिखाते हैं. इससे नतीजा काम का नहीं होता. (Ie21f2, b/185938070) - जब भी व्यू में बदलाव होता है, तो PipParams के सोर्स रेक्ट के हिंट को अपडेट करने के लिए नया एपीआई
Activity#setPipAnimationHintView
जोड़ा गया है. (I9063d)
एपीआई में हुए बदलाव
rememberLauncherForActivityResult
फ़ंक्शन अब ऐसा लॉन्चर दिखाता है जोunregister()
फ़ंक्शन का इस्तेमाल नहीं करता. लॉन्चर को रजिस्टर और अनरजिस्टर करने की प्रोसेस,rememberLauncherForActivityResult
अपने-आप मैनेज करता है. (I2443e)
Compose के साथ काम करने वाले डिवाइस
androidx.activity:activity-compose:1.3.0-alpha08
सिर्फ़ Compose के वर्शन1.0.0-beta07
और उसके बाद के वर्शन के साथ काम करता है.
वर्शन 1.3.0-alpha07
21 अप्रैल, 2021
androidx.activity:activity:1.3.0-alpha07
, androidx.activity:activity-compose:1.3.0-alpha07
, और androidx.activity:activity-ktx:1.3.0-alpha07
रिलीज़ हो गए हैं. 1.3.0-alpha07 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
rememberLauncherForActivityResult
अब एक हीActivityResultLauncher
इंस्टेंस का एक स्थिर रेफ़रंस दिखाता है. भले ही, फिर से कॉम्पोज़ करने की वजह से अनुबंध में बदलाव हो. (Id2d6d)1.3.0
से ज़्यादा के अस्थिर वर्शन का इस्तेमाल करने पर, अब आपको1.3.0
का इस्तेमाल करने के लिए कहने वाली गलत लिंट गड़बड़ी नहीं दिखेगी. (aosp/1670206, b/184847092)
वर्शन 1.3.0-alpha06
7 अप्रैल, 2021
androidx.activity:activity:1.3.0-alpha06
, androidx.activity:activity-compose:1.3.0-alpha06
, और androidx.activity:activity-ktx:1.3.0-alpha06
रिलीज़ हो गए हैं. 1.3.0-alpha06 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
registerForActivityResult()
एपीआई का नाम बदलकरrememberLauncherForActivityResult()
कर दिया गया है, ताकि यह बेहतर तरीके से पता चल सके कि दिखाया गयाActivityResultLauncher
एक मैनेज किया जाने वाला ऑब्जेक्ट है, जिसे आपकी ओर से याद रखा जाता है.unregister
को कॉल करने पर, अबActivityResultLauncher
की वैल्यू के तौर पर गड़बड़ी का मैसेज दिखेगा. (I2bb6d)LocalOnBackPressedDispatcherOwner.current
औरLocalActivityResultRegistryOwner.current
अब ऐसी वैल्यू दिखाते हैं जिसे शून्य पर सेट किया जा सकता है. इससे यह तय करने में मदद मिलती है कि यह वैल्यू मौजूदा कॉम्पोज़िशन में उपलब्ध है या नहीं. जिन एपीआई के लिए इन एपीआई की ज़रूरत होती है, जैसे किBackHandler
औरrememberLauncherForActivityResult()
, अब उनमें मालिक का पता न चलने पर, ज़्यादा जानकारी वाली गड़बड़ी दिखेगी.NavHost
अब तब भी काम करता है, जबOnBackPressedDispatcherOwner
नहीं मिलता. ऐसाNavHost
की झलक देखते समय होता है. (I7d8b4)
गड़बड़ियां ठीक की गईं
- अगर ऐक्टिविटी
STOPPED
है, फिरSTARTED
है, और LifecycleOwner के साथ अन्य कॉलबैक जोड़े गए हैं, तोBackHandler
अब बैक बटन को दबाने पर सही तरीके से काम करेगा. (I71de6, b/182284739) Unit
इनपुट वाले कस्टमActivityResultContract
के साथ,launch()
तरीके के एक्सटेंशन का इस्तेमाल करने से, अबNullPointerException
(I76282, b/183837954) की समस्या नहीं होगी
वर्शन 1.3.0-alpha05
24 मार्च, 2021
androidx.activity:activity:1.3.0-alpha05
, androidx.activity:activity-compose:1.3.0-alpha05
, और androidx.activity:activity-ktx:1.3.0-alpha05
रिलीज़ हो गए हैं. वर्शन 1.3.0-alpha05 में ये कमियां हैं.
गड़बड़ियां ठीक की गईं
- Activity 1.2.2 से:
InvalidFragmentVersionForActivityResult
लिंट जांच में एक समस्या को ठीक किया गया है. इसकी वजह से, Fragment 1.3.1 या उसके बाद के वर्शन का इस्तेमाल करने पर, गलत तरीके से सही के तौर पर मार्क किया जा रहा था. (I54da1, b/182388985) - Activity 1.2.2 से:
ComponentActivity
अब किसी ऐसेActivityResultContract
सेIntent
लॉन्च करते समयClassNotFoundException
से बचता है जिसे पहले किसी दूसरेIntent
में एक्सट्रा के तौर पर रखा गया था. (Ieff05, b/182906230)
डिपेंडेंसी से जुड़े अपडेट
- Activity 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) - ऐक्टिविटी कंपोज़ अब रनटाइम क्लासपाथ पर टेस्ट डिपेंडेंसी नहीं जोड़ती. (Ifd8b3)
BackHandler
से जुड़ी एक समस्या को ठीक किया गया है. इसमें, रीकंपोज़िशन के बाद भी, पहले से सेट किए गएonBack
लेम्ब्डा फ़ंक्शन का इस्तेमाल किया जा रहा था. (8eb5eb)
वर्शन 1.3.0-alpha03
24 फ़रवरी, 2021
androidx.activity:activity:1.3.0-alpha03
, androidx.activity:activity-compose:1.3.0-alpha03
, और androidx.activity:activity-ktx:1.3.0-alpha03
रिलीज़ हो गए हैं. 1.3.0-alpha03 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
- कंपोज़ेबल में मौजूद गतिविधियों के नतीजे पाने के लिए, अब एक कंपोज़ेबल
registerForActivityResult
फ़ंक्शन मौजूद है. (Ia7851, b/172690553)
एपीआई में हुए बदलाव
LocalOnBackPressedDispatcherOwner
में अबprovides
फ़ंक्शन हैं. इनका इस्तेमालCompositionLocalProvider
के साथ किया जा सकता है. इससेasProvidableCompositionLocal()
एपीआई की जगह ले ली जाएगी. (I45d24)
वर्शन 1.3.0-alpha02
10 फ़रवरी, 2021
androidx.activity:activity:1.3.0-alpha02
, androidx.activity:activity-compose:1.3.0-alpha02
, और androidx.activity:activity-ktx:1.3.0-alpha02
रिलीज़ हो गए हैं. वर्शन 1.3.0-alpha02 में ये कमियां हैं.
गड़बड़ियां ठीक की गईं
- गतिविधि लिखने की सुविधा
1.3.0-alpha01
में एक समस्या को ठीक किया गया है. इसकी वजह से, लिखने की सुविधा1.0.0-alpha12
का इस्तेमाल करते समयNoSuchMethodError: No static method setContent
अपवाद दिखता था. Compose का इस्तेमाल करने वाले सभी लोगों को1.3.0-alpha02
और उसके बाद के वर्शन का इस्तेमाल करना चाहिए. (b/179911234)
एपीआई में हुए बदलाव
BackHandler
एपीआई का इस्तेमाल करके, Composable को सिस्टम के 'वापस जाएं' बटन को इंटरसेप्ट करने की अनुमति दी जा सकती है. (I58ed5, b/172154006)
वर्शन 1.3.0-alpha01
10 फ़रवरी, 2021
androidx.activity:activity:1.3.0-alpha01
, androidx.activity:activity-compose:1.3.0-alpha01
, और androidx.activity:activity-ktx:1.3.0-alpha01
रिलीज़ हो गए हैं. 1.3.0-alpha01 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
- नया
activity-compose
आर्टफ़ैक्ट,androidx.activity
के खास एपीआई के लिए, Jetpack Compose के खास हेल्पर उपलब्ध कराता है.ComponentActivity.setContent
कोandroidx.compose.ui.platform.setContent
सेandroidx.activity.compose.setContent
में ले जाया गया. (Icf416)
आम समस्याएं
- Activity Compose
1.3.0-alpha01
और उस पर निर्भर लाइब्रेरी, जैसे किandroidx.compose.ui:ui-test-junit4:1.0.0-alpha12
का इस्तेमाल करने पर,NoSuchMethodError: No static method setContent
अपवाद दिखेगा. (b/179911234)
वर्शन 1.2.4
वर्शन 1.2.4
21 जुलाई, 2021
androidx.activity:activity:1.2.4
और androidx.activity:activity-ktx:1.2.4
रिलीज़ हुई हैं. 1.2.4 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- Activity
1.3.0-rc02
से: ActivityResultRegistry कॉलबैक अब सही तरीके से सेव और वापस लाए जाते हैं, ताकि savedState में कॉलबैक डुप्लीकेट न हों. (I97816, b/191893160)
वर्शन 1.2.3
वर्शन 1.2.3
5 मई, 2021
androidx.activity:activity:1.2.3
और androidx.activity:activity-ktx:1.2.3
रिलीज़ हो गए हैं. 1.2.3 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
launch()
वाले तरीके के एक्सटेंशन को,Unit
इनपुट वाले कस्टमActivityResultContract
के साथ इस्तेमाल करने पर, अबNullPointerException
नहीं दिखेगा (I76282, b/183837954)- फ़्रेगमेंट के नए वर्शन के स्नैपशॉट, ऐल्फ़ा, बीटा या आरसी बिल्ड का इस्तेमाल करते समय, आपको फ़्रेगमेंट
1.3.0
का इस्तेमाल करने के लिए कहने वाली गलत लिंट गड़बड़ी को ठीक किया गया है. (f4a57e, b/184847092)
वर्शन 1.2.2
वर्शन 1.2.2
24 मार्च, 2021
androidx.activity:activity:1.2.2
और androidx.activity:activity-ktx:1.2.2
रिलीज़ हो गए हैं. 1.2.2 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
InvalidFragmentVersionForActivityResult
लिंट जांच में एक समस्या को ठीक किया गया है. इसकी वजह से, Fragment 1.3.1 या इसके बाद के वर्शन का इस्तेमाल करने पर, गलत फ़ॉल्स पॉज़िटिव मिलता था. (I54da1, b/182388985)ComponentActivity
अब किसीActivityResultContract
सेIntent
लॉन्च करते समय,ClassNotFoundException
को हटा देता है. यह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 के बाद किए गए मुख्य बदलाव
- Activity नतीजे के एपीआई:
ComponentActivity
अबActivityResultRegistry
की सुविधा देता है. इसकी मदद से,startActivityForResult()
+onActivityResult()
के साथ-साथrequestPermissions()
+onRequestPermissionsResult()
फ़्लो को मैनेज किया जा सकता है. ऐसा, आपकी ऐक्टिविटी या फ़्रैगमेंट में किए गए तरीकों को बदले बिना किया जाता है. इसकी मदद से,ActivityResultContract
के ज़रिए ज़्यादा सुरक्षित तरीके से काम किया जा सकता है और इन फ़्लो की जांच की जा सकती है. गतिविधि से नतीजा पाना सेक्शन में अपडेट देखें.
ContextAware
:ComponentActivity
अबContextAware
को लागू करता है. इससे, एक या उससे ज़्यादाOnContextAvailableListener
इंस्टेंस जोड़े जा सकते हैं. इन इंस्टेंस कोActivity.onCreate()
बेस से पहले कॉलबैक मिलेगा.- सस्पेंड करने वाले Kotlin एक्सटेंशन
withContextAvailable()
की मदद से, कॉन्टेक्स्ट उपलब्ध होने पर नतीजा दिखाने वाला ब्लॉक चलाया जा सकता है. FragmentManager
की स्थिति को वापस लाने के लिए,FragmentActivity
Fragment 1.3.0 में इस एपीआई का इस्तेमाल करता है.FragmentActivity
के सबक्लास में जोड़े गए सभी लिसनर, उस लिसनर के बाद चलेंगे.AppCompatActivity
, AppCompat 1.3.0-alpha02 या इसके बाद के वर्शन में इस एपीआई का इस्तेमाल करता है.AppCompatActivity
के सबक्लास में जोड़े गए सभी लिसनर, उस लिसनर के बाद चलेंगे.
- सस्पेंड करने वाले Kotlin एक्सटेंशन
ViewTree
सहायता:ComponentActivity
अब Lifecycle2.3.0
और SavedState1.1.0
में जोड़े गएViewTreeLifecycleOwner.get(View)
,ViewTreeViewModelStoreOwner.get(View)
, औरViewTreeSavedStateRegistryOwner
एपीआई के साथ काम करता है. इससे,ComponentActivity
में सीधे तौर पर जोड़े गए किसी भी व्यू के लिए, गतिविधि कोLifecycleOwner
,ViewModelStoreOwner
, औरSavedStateRegistryOwner
के तौर पर दिखाया जाएगा.
- reportFullyDrawn() बैकपोर्ट -
reportFullyDrawn()
केActivity
तरीके कोComponentActivity
में बैकपोर्ट किया गया है, ताकि यह सभी एपीआई लेवल पर काम कर सके. साथ ही, API 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, नतीजे दिखाने से पहले लाइफ़साइकल केSTARTED
होने का इंतज़ार नहीं करता था. (I109ea)
बाहरी योगदान
launch()
के दस्तावेज़ को अपडेट किया गया, ताकि साफ़ तौर पर यह बताया जा सके कि यहActivityNotFoundException
दे सकती है. धन्यवाद, माइकल ज़ीलिनस्की! (aosp/1493580)
वर्शन 1.2.0-beta01
1 अक्टूबर, 2020
androidx.activity:activity:1.2.0-beta01
और androidx.activity:activity-ktx:1.2.0-beta01
रिलीज़ हो गए हैं. 1.2.0-beta01 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
ActivityResultRegistry
अब तब तक इंटिजर जनरेट करता है, जब तक उसे कोई ऐसा इंटिजर नहीं मिल जाता जिसे अनुरोध कोडregister()
के तौर पर इस्तेमाल करने के लिए असाइन नहीं किया गया है. इससे अनुरोध कोड बढ़ाने की वजह से, इंटिजर ओवरफ़्लो होने की संभावना को रोका जा सकता है. (b/168779518)ActivityResultLauncher
परunregister()
को कॉल करने पर,Lifecycle
ऑब्ज़र्वर सही तरीके से हटा दिए जाते हैं. (b/165608393)
व्यवहार में बदलाव
ActivityResultRegistry
अबLifecycleOwner
के साथregister()
को कॉल करने की कोशिश करते समय,IllegalStateException
दिखाता है. इस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) FragmentManager
की स्थिति पहले जैसी करने के लिए,FragmentActivity
इस एपीआई का इस्तेमाल फ़्रैगमेंट 1.3.0-alpha08 में करता है.FragmentActivity
की सब-क्लास में जोड़े गए सभी लिसनर, उसके बाद चलेंगे. (I513da)AppCompatActivity
, AppCompat 1.3.0-alpha02 में इस एपीआई का इस्तेमाल करता है.AppCompatActivity
की सब-क्लास में जोड़े गए सभी लिसनर, उसके बाद चलेंगे. (I513da)
- जब कॉन्टेक्स्ट उपलब्ध हो जाता है और कोई नतीजा मिलता है, तब निलंबित Kotlin एक्सटेंशन
गड़बड़ियां ठीक की गईं
ActivityResultFragmentVersionDetector
लिंट जांच से जुड़ी उस समस्या को ठीक किया गया है जिसकी वजह से लिंट 27.1.0 या इसके बाद के वर्शन का इस्तेमाल करते समय यह गड़बड़ी हुई थी. (b/162155191)
वर्शन 1.2.0-alpha07
22 जुलाई, 2020
androidx.activity:activity:1.2.0-alpha07
और androidx.activity:activity-ktx:1.2.0-alpha07
रिलीज़ हो गए हैं. 1.2.0-alpha07 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
- नई
InvalidFragmentVersionForActivityResult
लिंट जांच जोड़ी गई, जो यह पुष्टि करती है कि आप Activity नतीजे API का इस्तेमाल करते समय फ़्रैगमेंट1.3.0-alpha07
का इस्तेमाल कर रहे हैं या नहीं. साथ ही, फ़्रैगमेंट के पुराने वर्शन का इस्तेमाल करने की वजह से "अमान्य अनुरोध कोड" की समस्याओं की वजह से रनटाइम के बंद होने और काम न करने वाले अनुमति अनुरोधों से बचा जा सकता है. (b/152554847)
बाहरी योगदान
RequestPermission
गतिविधि के नतीजे के समझौते के लिए नतीजों को पार्स करते समय,ArrayIndexOutOfBoundsException
को ठीक किया गया. (I8f9e3, b/161057605)
वर्शन 1.2.0-alpha06
10 जून, 2020
androidx.activity:activity:1.2.0-alpha06
और androidx.activity:activity-ktx:1.2.0-alpha06
रिलीज़ हुई हैं. 1.2.0-alpha06 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
- अब Kotlin में
ActivityResult
क्लास को डिस्ट्रक्चर किया जा सकता है, ताकिrequestCode
औरintent
को सीधे ऐक्सेस किया जा सके. (b/157212935) ActivityResultLauncher
की मदद से, अब उसActivityResultContract
को वापस पाया जा सकता है जिसका इस्तेमाल लॉन्चर को रजिस्टर करने के लिए किया गया था. (b/156875743)
एपीआई में हुए बदलाव
- बड़े बदलाव:
ActivityResultRegistry
परinvoke()
तरीके का नाम बदलकरonLaunch()
कर दिया गया है. (b/157496491) - अगर कोई नतीजा नहीं मिलता है, तो
OpenMultipleDocuments
कॉन्ट्रैक्ट, रजिस्टर किए गए कॉलबैक मेंnull
के बजाय, अब एक खाली सूची दिखाता है. (b/157348014)
वर्शन 1.2.0-alpha05
20 मई, 2020
androidx.activity:activity:1.2.0-alpha05
और androidx.activity:activity-ktx:1.2.0-alpha05
रिलीज़ हो गए हैं. 1.2.0-alpha05 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
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()
का साफ़ तौर पर इस्तेमाल किया गया है, ताकि यह बेहतर तरीके से पता चल सके कि ये एसिंक्रोनस ऑपरेशन हैं.launch
के लिए Kotlin एक्सटेंशन,ActivityResultLauncher<Void>
औरActivityResultLauncher<Unit>
के लिएandroidx.activity.result
पैकेज में जोड़े गए हैं. इनकी मदद से,null
याUnit
को पास करने की ज़रूरत नहीं होती. ये एक्सटेंशन, पहले केinvoke()
एक्सटेंशन के व्यवहार को दिखाते हैं. (aosp/1304674, aosp/1304675)setFlagsMask()
औरsetFlagsValues()
के लिएIntentSenderRequest.Builder
के तरीकों को एक हीsetFlags()
तरीके में जोड़ दिया गया है. (aosp/1302111)
गड़बड़ियां ठीक की गईं
ActivityResultCallback
कोLifecycleOwner
के साथ रजिस्टर करते समय, उस समस्या को ठीक किया गया था जिसकी वजह से राज्यSTARTED
तक पहुंचने से पहले कॉलबैक ट्रिगर होगा. (aosp/1309744)
व्यवहार में बदलाव
ActivityResultRegistry
अब अनुरोध कोड जनरेट करता है, जो0
के बजाय0xFFFF
से शुरू होता है. इससे किसी गतिविधि मेंstartActivityForResult()
याrequestPermissions()
का इस्तेमाल करते समय, ओवरलैप होने से रोका जा सकता है. (aosp/1302324)
वर्शन 1.2.0-alpha04
29 अप्रैल, 2020
androidx.activity:activity:1.2.0-alpha04
और androidx.activity:activity-ktx:1.2.0-alpha04
रिलीज़ हुई हैं. 1.2.0-alpha04 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
- एक ऐसा कॉन्ट्रैक्ट जोड़ा गया है जो ActivityResult API में startIntentSenderForResult को कॉल कर सकता है. (b/153007517)
एपीआई में हुए बदलाव
prepareCall()
तरीके का नाम बदलकर,registerForActivityResult()
कर दिया गया है. इसमेंComponentActivity
यहां और फ़्रैगमेंट1.3.0-alpha04
, दोनों जगह हैं. (aosp/1278717)GetContents
,OpenDocuments
, औरRequestPermissions
कॉन्ट्रैक्ट का नाम बदलकर, क्रमशःGetMultipleContents
,OpenMultipleDocuments
, औरRequestMultiplePermissions
कर दिया गया है. (aosp/1280161)ComponentActivity
अबActivityResultRegisteryOwner
इंटरफ़ेस लागू करता है. (aosp/1290888)- -
ComponentActivity
परstartActivityForResult()
/onActivityResult()
औरonRequestPermissionsResult()
एपीआई का इस्तेमाल नहीं किया जा सकता. कृपया गतिविधि के नतीजे से जुड़े एपीआई का इस्तेमाल करें. (b/154751887)
गड़बड़ियां ठीक की गईं
GetMultipleContents
औरOpenMultipleDocuments
के अनुबंधों का इस्तेमाल करके और एक आइटम चुनने पर, अब यह आपके कॉलबैक पर सही तरीके से लौटता है. (b/152941153)
वर्शन 1.2.0-alpha03
1 अप्रैल, 2020
androidx.activity:activity:1.2.0-alpha03
और androidx.activity:activity-ktx:1.2.0-alpha03
रिलीज़ हुई हैं. 1.2.0-alpha03 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
ActivityResultContracts
की ओर से पहले से बनाए गए कॉन्ट्रैक्ट के सेट में,TakeVideo
,PickContact
,GetContent
,GetContents
,OpenDocument
,OpenDocuments
,OpenDocumentTree
, औरCreateDocument
कॉन्ट्रैक्ट जोड़े गए. (aosp/1262482, aosp/1266916, aosp/1268960)- गतिविधि के नतीजे के लिए उपलब्ध एपीआई, अब
ActivityOptionsCompat
के साथ नतीजे के लिए कोई गतिविधि शुरू करने की सुविधा देते हैं. हालांकि,ActivityOptionsCompat
का इस्तेमाल करना ज़रूरी नहीं है. (b/151860054)
एपीआई में हुए बदलाव
TakePicture
कॉन्ट्रैक्ट में अबUri
इनपुट दिया जाता है, ताकि यह तय किया जा सके कि इमेज को कहां सेव किया जाए. पिछले कॉन्ट्रैक्ट का नाम बदलकरTakePicturePreview
कर दिया गया है. इसमें कोई इनपुट नहीं लिया जाता. (aosp/1262482)ActivityResultRegistry
परregisterActivityResultCallback()
तरीके का नाम बदलकर,register()
कर दिया गया है. (aosp/1267621)ActivityResultLauncher
केdispose()
तरीके का नाम बदलकर,unregister()
कर दिया गया है. साथ ही,ActivityResultRegistry
पर मौजूदunregisterResultCallback()
को हटा दिया गया है. (aosp/1267621)ActivityResultContact
केcreateIntent()
तरीके में अब इनपुट के साथ-साथContext
भी शामिल होता है, ताकि साफ़ तौर पर इंटेंट बनाए जा सकें. (aosp/1238800)ActivityResultContract
,startActivityForResult
को कॉल किए बिना नतीजा देने के लिए, अबgetSynchronousResult()
को बदल सकता है.RequestPermission
औरRequestPermissions
समझौतों में इसका इस्तेमाल, अनुरोध की गई अनुमतियां पहले से ही दी जा चुकी होने पर, 'अनुमति दी गई' स्टेटस को सही तरीके से डिलीवर करने के लिए किया जाता है. (b/151110799)- पहले उपलब्ध
Dial
समझौते को हटा दिया गया है, क्योंकिIntent
का इस्तेमालstartActivityForResult()
के साथ नहीं किया जा सकता. (aosp/1266916) - गतिविधि के नतीजे से जुड़े कई एपीआई, अब
final
के तौर पर मार्क किए गए हैं. इसमेंgetActivityResultRegistry()
,prepareCall()
तरीके,invoke()
को छोड़करActivityResultRegistry
के सभी तरीके, और कई ऐसे डिफ़ॉल्ट अनुबंध शामिल हैं जो वैकल्पिक अतिरिक्त की सुविधा के साथ काम नहीं करते. (b/152439361)
गड़बड़ियां ठीक की गईं
- कॉन्फ़िगरेशन में बदलाव होने के बाद, जिस कॉलबैक को अब तक फिर से रजिस्टर नहीं किया गया है उस पर नतीजे डिलीवर करने की कोशिश करते समय,
ActivityResultRegistry
मेंNullPointerException
से जुड़ी गड़बड़ी को ठीक किया गया. अबActivityResultRegistry
इन बचे हुए नतीजों को होल्ड करता है और कॉलबैक के लिए फिर से रजिस्टर किए जाने पर उसे डिलीवर करता है. (b/152137004)
वर्शन 1.2.0-alpha02
18 मार्च, 2020
androidx.activity:activity:1.2.0-alpha02
और androidx.activity:activity-ktx:1.2.0-alpha02
रिलीज़ हुई हैं. 1.2.0-alpha02 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
- ActivityResultRegistry:
ComponentActivity
अब एकActivityResultRegistry
उपलब्ध कराता है. इसकी मदद से,startActivityForResult()
+onActivityResult()
के साथ-साथrequestPermissions()
+onRequestPermissionsResult()
फ़्लो को हैंडल किया जा सकता है. इसके लिए, आपको अपनी गतिविधि या फ़्रैगमेंट में मौजूद तरीकों को बदलने की ज़रूरत नहीं है. साथ ही,ActivityResultContract
की मदद से टाइप सेफ़्टी को बेहतर बनाया जा सकता है. इसके अलावा, इन फ़्लो की जांच करने के लिए हुक भी उपलब्ध कराए जाते हैं. अपडेट किया गया किसी गतिविधि से नतीजा पाना देखें. (b/125158199)
वर्शन 1.2.0-alpha01
4 मार्च, 2020
androidx.activity:activity:1.2.0-alpha01
और androidx.activity:activity-ktx:1.2.0-alpha01
रिलीज़ हो गए हैं. 1.2.0-alpha01 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
- लाइफ़साइकल
2.3.0-alpha01
में जोड़े गएViewTreeLifecycleOwner.get(View)
एपीआई के लिए सहायता जोड़ी गई है, ताकि यह सीधे तौर पर गतिविधि में जोड़े गए किसी भी व्यू के लिए, गतिविधि कोLifecycleOwner
के तौर पर दिखाए. (aosp/1182955)
गड़बड़ियां ठीक की गईं
- प्लैटफ़ॉर्म के पुराने वर्शन पर चलाते समय
1.1.0
गतिविधि में पेश किए गए रिग्रेशन को ठीक किया गया, जहांonBackPressed()
केandroid.app.FragmentManager
में किसी गड़बड़ी की वजह सेIllegalStateException
हुआ था. (b/146290338)
वर्शन 1.1.0
वर्शन 1.1.0
22 जनवरी, 2020
androidx.activity:activity:1.1.0
रिलीज़ हो गया है. वर्शन 1.1.0 में ये कमियां शामिल हैं.
1.0.0 के बाद के अहम बदलाव
- लाइफ़साइकल व्यूमॉडल सेव स्टेट इंटिग्रेशन:
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 में ये कमियां शामिल हैं.
डिपेंडेंसी में बदलाव
- गतिविधि अब Lifecycle
2.2.0-rc03
और Lifecycle ViewModel के सेव किए गए स्टेट1.0.0-rc03
पर निर्भर करती है.
वर्शन 1.1.0-rc02
7 नवंबर, 2019
androidx.activity:activity:1.1.0-rc02
और androidx.activity:activity-ktx:1.1.0-rc02
रिलीज़ हुई हैं. वर्शन 1.1.0-rc02 में ये कमियां शामिल हैं.
डिपेंडेंसी में बदलाव
- अब गतिविधि,
2.2.0-rc02
लाइफ़साइकल पर निर्भर करती है.
वर्शन 1.1.0-rc01
23 अक्टूबर, 2019
androidx.activity:activity:1.1.0-rc01
और androidx.activity:activity-ktx:1.1.0-rc01
को 1.1.0-beta01
में किए गए बदलावों के साथ रिलीज़ किया गया है. 1.1.0-rc01 वर्शन में ये बदलाव शामिल हैं.
वर्शन 1.1.0-beta01
9 अक्टूबर, 2019
androidx.activity:activity:1.1.0-beta01
और androidx.activity:activity-ktx:1.1.0-beta01
रिलीज़ हो गए हैं. वर्शन 1.1.0-beta01 में ये कमियां शामिल हैं.
डिपेंडेंसी में बदलाव
- गतिविधि अब सेव स्टेट 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
कंस्ट्रक्टर याViewModelProviders.of()
के साथComponentActivity
(b/135716331) का इस्तेमाल करते समय,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
, फ़्रैगमेंट1.1.0
मेंFragmentActivity
के लिए नई बेस क्लास के तौर पर काम करती है. साथ ही, AppCompat1.1.0
मेंAppCompatActivity
के लिए भी काम करती है. - activity-ktx:
activity-ktx
मॉड्यूल में, ViewModels को ऐक्सेस करने के लिएby viewModels
Kotlin प्रॉपर्टी एक्सटेंशन शामिल होता है. फ़्रैगमेंट1.1.0
सेfragment-ktx
शामिल करने पर, यह मॉड्यूल अपने-आप शामिल हो जाता है. - OnBackPressedDispatcher:
onBackPressed()
को ओवरराइड करने के लिए कंपोज़ेबल विकल्प के तौर पर, अब सिस्टम के बैक बटन इवेंट को इंटरसेप्ट करने के लिए, किसी भीLifecycleOwner
(जैसे कि फ़्रैगमेंट) सेOnBackPressedCallback
को रजिस्टर किया जा सकता है.activity-ktx
में, रिसीप्टर वर्शनaddCallback
वाला एक लैम्ब्डा जोड़ा गया है. ज़्यादा जानकारी के लिए, पसंदीदा तरीके से वापस जाने के लिए नेविगेशन का दस्तावेज़ उपलब्ध कराना लेख पढ़ें. - onRequestCustomNonConfigurationInstance का इस्तेमाल बंद किया जा रहा है:
onRetainCustomNonConfigurationInstance()
और उससे जुड़ेgetLastCustomNonConfigurationInstance()
APIs को बंद कर दिया गया है. हमारा सुझाव है कि कॉन्फ़िगरेशन के अलावा अन्य स्टेटस को सेव करने के लिए, 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
अब एक ऐब्स्ट्रैक्ट क्लास है जिसे चालू या बंद किया जा सकता है - सिर्फ़ तबhandleOnBackPressed()
को कॉल किया जाएगा, जबisEnabled()
तरीके से 'सही' दिखेगा. इसमें आपको 'वापस जाएं' बटन को हैंडल करना होगा. (aosp/944518)OnBackPressedDispatcher
केaddCallback
तरीके अबCancellable
इंस्टेंस नहीं दिखाते.OnBackPressedCallback
में अबremove()
का एक ऐसा तरीका है जो इस फ़ंक्शन को पूरा करता है. इससे,handleOnBackPressed()
के दौरानremove()
को कॉल किया जा सकता है. (aosp/944519) (aosp/946316)activity-ktx
में अबaddCallback
के लिए, रिसीवर के स्कोप वाला कॉलबैक है. यहhandleOnBackPressed()
को लागू करने वाला एक लैम्ब्डा स्वीकार करता है. साथ ही,isEnabled
औरremove()
का ऐक्सेस भी रखता है (aosp/944520)
वर्शन 1.0.0-alpha06
3 अप्रैल, 2019
androidx.activity:activity:1.0.0-alpha06
और androidx.activity:activity-ktx:1.0.0-alpha06
रिलीज़ हो गए हैं. इस वर्शन में शामिल किए गए कमिट यहां देखे जा सकते हैं.
एपीआई में हुए बदलाव
- ComponentActivity में अब एक दूसरा कन्स्ट्रक्टर है, जो
@LayoutRes int
लेता है. यह आपकी AppCompatActivity क्लास को@ContentView
के साथ एनोटेट करने के पिछले व्यवहार की जगह लेता है. यह तरीका ऐप्लिकेशन और लाइब्रेरी मॉड्यूल, दोनों पर काम करता है. (b/128352521) - componentActivity पर
OnBackPressedCallback
से मिलते-जुलते एपीआई अब नएOnBackPressedDispatcher
की जगह लागू कर दिए गए हैं. इसेgetOnBackPressedDispatcher()
के ज़रिए फिर से उपलब्ध कराया जा सकता है. (aosp/922523) OnBackPressedDispatcher
में नयाOnBackPressedCallback
जोड़ने के तरीके अबCancellable
ऑब्जेक्ट दिखाते हैं. इससे,OnBackPressedDispatcher
के बारे में साफ़ तौर पर जानकारी दिए बिना कॉलबैक को हटाया जा सकता है. (aosp/922523)- अब किसी
LifecycleOwner
से जुड़ेOnBackPressedCallback
को जोड़ने पर,OnBackPressedCallback
को जोड़ा जाता है और लाइफ़साइकल शुरू होने पर उसे हटाया जाता है. (aosp/922523)
वर्शन 1.0.0-alpha05
13 मार्च, 2019
androidx.activity:activity:1.0.0-alpha05
और
androidx.activity:activity-ktx:1.0.0-alpha05
रिलीज़ हो गए हैं. इस रिलीज़ में शामिल सभी कमिट की पूरी सूची यहां देखी जा सकती है.
नई सुविधाएं
@ContentView
एनोटेशन लुकअप अब कैश मेमोरी में सेव किए जाते हैं (b/123709449)
वर्शन 1.0.0-alpha04
30 जनवरी, 2019
androidx.activity:activity 1.0.0-alpha04
और androidx.activity:activity-ktx 1.0.0-alpha04
रिलीज़ हो गए हैं.
नई सुविधाएं
@ContentView
क्लास एनोटेशन के लिए सहायता जोड़ी गई. इससे आपको यह बताने की अनुमति मिलती है कि कौनसी लेआउट एक्सएमएल फ़ाइल कोsetContentView()
का इस्तेमाल करने के विकल्प के तौर पर इनफ़्लेट किया जाना चाहिए. (aosp/837619)
एपीआई में किए गए बदलाव
- एक नोट जोड़ा गया है कि
getViewModelStore()
को बदला नहीं जाना चाहिए. साथ ही, इसे आने वाले वर्शन में फ़ाइनल कर दिया जाएगा. अगर इस तरीके को बदला जा रहा है, तो कृपया सुविधा के लिए अनुरोध करें. (aosp/837619)
गड़बड़ियां ठीक की गईं
activity
मॉड्यूल अब ViewModel के 2.1.0-alpha02 वर्शन पर निर्भर करता है, ताकि वहactivity-ktx
मॉड्यूल की डिपेंडेंसी से मैच कर सके.
वर्शन 1.0.0-alpha03
17 दिसंबर, 2018
androidx.activity 1.0.0-alpha03
रिलीज़ हो गया है.
नई सुविधाएं
- ComponentActivity अब
BundleSavedStateRegistryOwner
लागू करती है और यह हाल ही में रिलीज़ की गई SavedState लाइब्रेरी [aosp/815133] पर निर्भर करती है - ComponentActivity अब Android फ़्रेमवर्क के उस बग को ठीक कर देती है जिसकी वजह से InputMethodManager, फ़ोकस किए गए आखिरी व्यू को लीक कर देता था [b/37122102]
वर्शन 1.0.0-alpha02
3 दिसंबर, 2018
एपीआई में किए गए बदलाव
- एक नोट जोड़ा गया है कि
getLifecycle()
को बदला नहीं जाना चाहिए. साथ ही, इसे आने वाले वर्शन मेंfinal
कर दिया जाएगा. अगर इस तरीके को बदला जा रहा है, तो कृपया सुविधा के लिए अनुरोध करें. (aosp/815834)
वर्शन 1.0.0-alpha01
5 नवंबर, 2018
androidx.activity 1.0.0-alpha01
में ComponentActivity
को शामिल किया गया है. यह मौजूदा FragmentActivity
और
AppCompatActivity
की नई बेस क्लास है.
नई सुविधाएं
- अब
addOnBackPressedCallback
के ज़रिएOnBackPressedCallback
रजिस्टर किया जा सकता है, ताकिonBackPressed()
कॉलबैक पाए जा सकें. इसके लिए, आपको अपनी गतिविधि में मौजूद तरीके को बदलने की ज़रूरत नहीं है. ComponentActivity
सेViewModel
s को वापस पाने के लिए, एक नईby viewModels()
Kotlin प्रॉपर्टी डेलिगेट जोड़ी गई है.onStop()
में, अब वे इनपुट इवेंट रद्द कर दिए जाते हैं जो प्रोसेस नहीं हो पाए हैं. जैसे, क्लिक.
एपीआई में हुए बदलाव
LifecycleOwner
औरViewModelStoreOwner
को लागू करने की प्रोसेस कोFragmentActivity
सेComponentActivity
पर ले जाया गया है.onRetainCustomNonConfigurationInstance
का अब इस्तेमाल नहीं किया जा सकता. उन ऑब्जेक्ट को स्टोर करने के लिएViewModel
का इस्तेमाल करें जिन्हें कॉन्फ़िगरेशन में होने वाले बदलावों से बचने की ज़रूरत होती है.