النشاط
التعديل الأخير | الإصدار المستقر | سحب المرشح | الإصدار التجريبي | إصدار أولي |
---|---|---|---|---|
4 سبتمبر 2024 | 1.9.2 | - | - | 1.10.0-alpha02 |
إعلان التبعيات
لإضافة اعتمادية على "النشاط"، عليك إضافة مستودع Google Maven إلى مشروعك. الاطّلاع على مستودع Maven من Google لمزيد من المعلومات.
أضِف الملحقات التابعة للعناصر التي تحتاجها في ملف build.gradle
لـ
لتطبيقك أو الوحدة التي تستخدمها:
Groovy
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-alpha02
4 سبتمبر 2024
تم طرح الإصدارات androidx.activity:activity:1.10.0-alpha02
وandroidx.activity:activity-compose:1.10.0-alpha02
وandroidx.activity:activity-ktx:1.10.0-alpha02
. يحتوي الإصدار 1.10.0-alpha02 على عمليات التنفيذ هذه.
تغييرات السلوك
- إنّ عقود نتائج النشاط
PickVisualMedia
وPickMultipleVisualMedia
التي تؤدي إلى تفعيل "أداة اختيار الصور" لم تعُد مفوَّضة مباشرةً إلى "خدمات Google Play" إذا لم تكن "أداة اختيار الصور" للنظام متاحة، ولكنها تستخدم إجراءACTION_SYSTEM_FALLBACK_PICK_IMAGES
المتاح للجميع والميزات الإضافية ذات الصلة لتوفير تجربة متّسقة في "أداة اختيار الصور" للمصنّعين الأصليين للأجهزة وتطبيقات النظام كإجراء احتياطي. ومن المفترض ألا يكون لذلك أي تأثير في تجربة المستخدم للأجهزة التي تعمل بإصدار حديث من "خدمات Google Play". (I3513d)
إصلاح الأخطاء
- تمت إزالة التخطيط اليدوي للوصول إلى واجهات برمجة التطبيقات الجديدة للنظام الأساسي نظرًا لحدوث ذلك تلقائيًا عبر نماذج واجهة برمجة التطبيقات عند استخدام R8 مع AGP 7.3 أو إصدار أحدث (مثل R8 الإصدار 3.3) وكذلك لجميع الإصدارات عند استخدام AGP 8.1 أو الإصدارات الأحدث (مثل D8 الإصدار 8.1). وننصح العملاء الذين لا يستخدمون AGP بالتحديث إلى الإصدار 8.1 من نظام التشغيل D8 أو الإصدارات الأحدث. يُرجى مراجعة هذه المقالة للاطّلاع على مزيد من التفاصيل. (I9496c، b/345472586)
- من النشاط
1.9.2
: تم إصلاح مشكلة واصلت واجهة برمجة تطبيقاتPredictiveBackHandler
Compose في معالجة إيماءة الرجوع للنظام في الإطار الذي تم إيقافه، ما قد يؤدي إلى إنشاء مكتبات مثل Navigation Compose لمعالجته حتى مع استخدام حزمة خلفية فارغة، ما يؤدي إلى طرح رمزIndexOutOfBoundsException
. (Ie3301، b/340202286) - من النشاط
1.9.1
: تم إصلاح مشكلة فيPredictiveBackHandler
تسبّبت في تعذُّر محاولة إجراءonBackPressed
منOnBackPressedDispatcher
. (I5f1f8)
الإصدار 1.10.0-alpha01
26 يونيو 2024
تم طرح الإصدارات androidx.activity:activity:1.10.0-alpha01
وandroidx.activity:activity-compose:1.10.0-alpha01
وandroidx.activity:activity-ktx:1.10.0-alpha01
. تم تطوير هذا الإصدار في فرع داخلي.
الميزات الجديدة
- تمت إضافة دعم لميزات
PhotoPicker
الجديدة التي تم طرحها في Android V، بما في ذلك إمكانية اختيار الصور بالترتيب واختيار علامة التبويب التي يجب أن تكون مرئية مبدئيًا (سواء ألبومات أو صور).
الإصدار 1.9
الإصدار 1.9.2
4 سبتمبر 2024
تم طرح الإصدارات androidx.activity:activity:1.9.2
وandroidx.activity:activity-compose:1.9.2
وandroidx.activity:activity-ktx:1.9.2
. يحتوي الإصدار 1.9.2 على هذه lthcocommits.
إصلاح الأخطاء
- تم إصلاح مشكلة واصلت واجهة برمجة التطبيقات Activity Compose
PredictiveBackHandler
معالجة إيماءة الرجوع في النظام عند إيقاف الإطار، ما قد يؤدي إلى إنشاء مكتبات مثل 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
تسبّبت في تعذُّر محاولة تنفيذonBackPressed
من خلالOnBackPressedDispatcher
بعد استعادة النظام. (I5f1f8)
الإصدار 1.9.0
17 أبريل 2024
تم طرح الإصدارات androidx.activity:activity:1.9.0
وandroidx.activity:activity-compose:1.9.0
وandroidx.activity:activity-ktx:1.9.0
. يحتوي الإصدار 1.9.0 على عمليات التنفيذ هذه.
تغييرات مهمة منذ الإصدار 1.8.0
- تنفِّذ
ComponentActivity
الآنOnUserLeaveHintProvider
للسماح للمكونات باستدعاءات أحداثonUserLeaveHint
. - تعرض واجهات برمجة التطبيقات
OnBackPressedCallback
وBackHandler
وPredictiveBackHandler
تحذيرات عند استدعاءonBackPressedDispatcher.onBackPressed()
عند معالجة الطلب، لأنّ ذلك سيؤدي دائمًا إلى إيقاف حركة الرجوع القائمة على التوقّعات. ويمكنك الاطّلاع على دليل أفضل الممارسات للحصول على مزيد من التفاصيل. - وتمت إعادة كتابة باقي واجهات برمجة تطبيقات الأنشطة بلغة Kotlin، وتم نقل جميع الإضافات التي كانت متوفّرة سابقًا في
activity-ktx
إلىactivity
.activity-ktx
فارغ الآن.- في إطار عملية تحويل
ActivityResultLauncher
إلى Kotlin، أصبحت الطريقةgetContract
الآن سمة مجردة في Kotlin. هذا تغيير متوافق مع النظام الثنائي، ولكن يتعطّل المصدر إذا كان تنفيذActivityResultLauncher
مكتوبًا بلغة Kotlin.
- في إطار عملية تحويل
الإصدار 1.9.0-rc01
3 أبريل 2024
تم طرح الإصدارات androidx.activity:activity:1.9.0-rc01
وandroidx.activity:activity-compose:1.9.0-rc01
وandroidx.activity:activity-ktx:1.9.0-rc01
. يحتوي الإصدار 1.9.0-rc01 على عمليات التنفيذ هذه.
تعديل بشأن التبعية
- يعتمد النشاط الآن على الإصدار 1.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)
- تم إصلاح عطل عند الوصول إلى
onBackPressedDispatcher
منComponentActivity
للمرة الأولى من سلسلة محادثات في الخلفية. يمكن الآن الوصول بأمان إلىonBackPressedDispatcher
في أي سلسلة محادثات. (I79955)
الإصدار 1.9.0-alpha02
24 يناير 2024
تم طرح الإصدارات androidx.activity:activity:1.9.0-alpha02
وandroidx.activity:activity-compose:1.9.0-alpha02
وandroidx.activity:activity-ktx:1.9.0-alpha02
. يحتوي الإصدار 1.9.0-alpha02 على هذه عمليات التنفيذ.
إحالات Kotlin الناجحة
- تمت كتابة
ActivityResultRegistry
في Kotlin. يضمن ذلك نقل صلاحية القيم العامة للعقد الذي تم تمريره إلىregister
إلى "ActivityResultLauncher
" الذي تم إرجاعه إليك بشكل صحيح. (I121f0) - تمت كتابة
ActivityResult
في Kotlin. تم نقل إضافاتActivityResult
Kotlin التي تتيح التدمير في الحقلَينresultCode
وdata
منactivity-ktx
إلىactivity
. (I0565a) - تم نقل إضافات Kotlin
by viewModels()
للغةComponentActivity
وtrackPipAnimationHintView
منactivity-ktx
إلىactivity
. عنصر "activity-ktx
" فارغ الآن. (I0a444)
إصلاح الأخطاء
- ترسم واجهة برمجة التطبيقات
enableEdgeToEdge
الآن حول أي قصاصات عرض. (a3644b، b/311173461) - من النشاط
1.8.2
: تم إصلاح الجزء الإضافي المُضمَّن في "عقد نشاط أداة اختيار الصور"ACTION_SYSTEM_FALLBACK_PICK_IMAGES
لتمرير مفتاحEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
بشكل صحيح بدلاً من استخدام المفتاح الإضافي مع المفتاح"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
. ننصح بشدّة إذا كنت من المصنّعين الأصليين للأجهزة التي تطبّق "أداة اختيار الصور" الاحتياطية للنظام لإتاحة كلتا الإضافتَين لضمان أكبر قدر من التوافق. (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. (رقم تعريف 4615) - المستوى 19 لواجهة برمجة التطبيقات في
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
في عقد نشاط أداة اختيار الصور لتمرير مفتاحEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
بشكل صحيح، بدلاً من استخدام المفتاح الإضافي مع المفتاح"com.google.android.gms.provider.extra.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 على عمليات الالتزام هذه.
إصلاح الأخطاء
- يستمر
OnBackPressedDispatcher
الآن في الإرسال إلىOnBackPressedCallback
الصحيح حتى بعد إضافةOnBackPressedCallback
جديد أثناء التعامل مع إيماءة الرجوع. (Id0ff6)
الإصدار 1.8.0
4 أكتوبر 2023
تم طرح الإصدارات androidx.activity:activity:1.8.0
وandroidx.activity:activity-compose:1.8.0
وandroidx.activity:activity-ktx:1.8.0
. يحتوي الإصدار 1.8.0 على عمليات الالتزام هذه.
تغييرات مهمة منذ الإصدار 1.7.0
- ظهر قائم على التوقّعات - يعرض جهاز "
OnBackPressedCallback
" الآن استدعاءات جديدة قائمة على التوقّعات للتعامل مع بدء إيماءة الرجوع والتقدّم خلال الإيماءة، وإلغاء إيماءة الرجوع، بالإضافة إلى عملية معاودة الاتصال السابقة على "handleOnBackPressed()
" عندما تكون إيماءة الرجوع مفعَّلة. يتضمّن هذا الوضع أيضًا وظيفة "PredictiveBackHandler
" القابلة للتعديل للتعامل مع أحداث إيماءة الرجوع التنبؤية في ميزة "إنشاء النشاط". ويوفر تدفقًا لكائنات BackEventCompat التي يجب جمعها في لامبا التعليق الذي تقدمه:
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
" قابل للضبط لمعالجة أحداث إيماءة الرجوع التنبئية. وتوفّر هذه السياسةFlow
من إجمالي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 } }
ويتم أيضًا توفير تحذير بشأن وقت التجميع عبر قاعدة Lint لضمان استدعاء
Flow
لـcollect()
. (Id2773، b/294884345)يتم الآن إعداد
onBackPressedDispatcher
فيComponentActivity
بطريقة كسولة بحيث لا يتم إنشاؤها إلا عند الحاجة. (I0bf8e)
إصلاح الأخطاء
- لن يعرض "
ComponentActivity
" بعد الآن NPE على نظام التشغيل Android 13 عند تلقّي معاودة الاتصال منonBackPressed()
وكان النشاطDESTROYED
. (Idb055، b/291869278) - إزالة استخدامات واجهة برمجة التطبيقات
isAtLeastU()
التجريبية (Ie9117، b/289269026)
الإصدار 1.8.0-alpha06
21 حزيران (يونيو) 2023
تم طرح الإصدارات androidx.activity:activity:1.8.0-alpha06
وandroidx.activity:activity-compose:1.8.0-alpha06
وandroidx.activity:activity-ktx:1.8.0-alpha06
. يحتوي الإصدار 1.8.0-alpha06 على هذه عمليات التنفيذ.
الميزات الجديدة
- يلغي
OnBackPressedDispatcher
الآن بشكل صحيح أي استدعاءات تمت إزالتها أثناء إيماءة الرجوع القائمة على التوقّعات. (I3f90f)
التغييرات في واجهة برمجة التطبيقات
- عند تمرير
SystemBarStyle.auto
إلى واجهة برمجة تطبيقاتenableEdgeToEdge
، يمكنك الآن إلغاء مَعلمة lambdadetectDarkMode
لتوفير منطق مخصّص لرصد "الوضع الليلي". (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
. تم تطوير هذا الإصدار في فرع داخلي.
التغييرات في واجهة برمجة التطبيقات
- يوفّر النشاط الآن فئة
BackEventCompat
تعمل كإصدار متوافق مع الأنظمة القديمة منBackEvent
وتكون منفصلة عن فئةBackEvent
في إطار العمل. - تغيير قد يؤدي إلى عطل: تتلقّى الآن الطريقتان
handleOnBackStarted
وhandleOnBackProgressed
منOnBackPressedCallback
مثيلandroidx.activity.BackEventCompat
بدلاً من فئةandroid.window.BackEvent
في إطار العمل. تم أيضًا تحديث واجهات برمجة تطبيقات@VisibleForTesting
المكافئة علىOnBackPressedDispatcher
. - تستخدم الآن الدالة الإنشائية لـ
OnBackPressedDispatcher
مثيلConsumer<Boolean>
اختياري يسمح لمالكي المُرسل بتلقي معاودة اتصال عندما يتغير عدد عمليات الاستدعاء المفعَّلة من صفر إلى غير صفري أو العكس بالعكس.
إصلاح الأخطاء
- من النشاط
1.7.2
: إصلاح تعطُّلReportDrawn
عند الانتقال من الشاشة قبل استدعاءreport
. (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: - لم يعد يتم تسريب
ReportFullyDrawExecuter
عند استخدامComponentActivity
معActivityScenario
. (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)
إصلاح الأخطاء
- تم إصلاح المشكلة المتمثلة في أن "الأجزاء" كانت تُلغي بشكل غير صحيح صلاحية ListHosts بشكل غير صحيح وتسبَّبت في سلوك غير متوقع للقوائم الأخرى في "النشاط". (I9404e، b/244336571)
تغييرات أخرى
- يستخدم
ActivityResultRegister
الآنRandom
بلغة Kotlin بدلاً من Java. (I4d98f، b/272096025)
الإصدار 1.8.0-alpha02
8 آذار (مارس) 2023
تم طرح الإصدارات androidx.activity:activity:1.8.0-alpha02
وandroidx.activity:activity-compose:1.8.0-alpha02
وandroidx.activity:activity-ktx:1.8.0-alpha02
. طورت من فرع داخلي.
تعديل بشأن التبعية
- من النشاط
1.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 على عمليات الالتزام هذه.
إصلاح الأخطاء
- إصلاح تعطُّل
ReportDrawn
عند الانتقال من الشاشة قبل استدعاءreport
. (Ic46f1، b/260506820)
الإصدار 1.7.1
19 نيسان (أبريل) 2023
تم طرح الإصدارات androidx.activity:activity:1.7.1
وandroidx.activity:activity-compose:1.7.1
وandroidx.activity:activity-ktx:1.7.1
. يحتوي الإصدار 1.7.1 على عمليات الالتزام هذه.
إصلاح الأخطاء
- لم يعد تسريب
ReportFullyDrawExecuter
عند استخدامComponentActivity
معActivityScenario
. (Id2ff2، b/277434271)
الإصدار 1.7.0
22 آذار (مارس) 2023
تم طرح الإصدارات androidx.activity:activity:1.7.0
وandroidx.activity:activity-compose:1.7.0
وandroidx.activity:activity-ktx:1.7.0
. يحتوي الإصدار 1.7.0 على عمليات الالتزام هذه.
تغييرات مهمة منذ الإصدار 1.6.0
- تم تعديل عقود نشاط "أداة اختيار الصور" في
PickVisualMedia
وPickMultipleVisualMedia
لتضمين إجراء احتياطي إضافي يمكن استخدامه في حال عدم توفّرMediaStore.ACTION_PICK_IMAGES
، ما يسمح للمصنِّعين الأصليين وتطبيقات النظام، مثل خدمات Google Play، بتوفير تجربة متّسقة في "أداة اختيار الصور" على مجموعة أكبر من أجهزة Android ومستويات واجهة برمجة التطبيقات، وذلك من خلال تنفيذ الإجراء الاحتياطي. ستستخدم "أداة اختيار الصور" هذا الإجراء الاحتياطي إذا كان متاحًا قبل العودة إلى استخدامIntent.ACTION_OPEN_DOCUMENT
، والذي سيبقى متوافقًا مع جميع أجهزة واجهة برمجة التطبيقات 19 والإصدارات الأحدث. - تنفِّذ
ComponentDialog
الآنSavedStateRegistryOwner
ويمكنها الوصول إلىSavedStateRegistry
الخاصة بها وتضبطSavedStateRegistryOwner
علىViewTree
. يمكن الآن استخدام Jetpack Compose ضِمنComponentDialog
لأنّها تستوفي كل منLifecycleOwner
وSavedStateRegistryOwner
المرفقَين بالنافذة من خلال متطلبات واجهات برمجة تطبيقاتViewTree
. - يتيح لك
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
توفِّر ComponentActivity
الآن مثيل FullyDrawnReporter
يسمح لمكوّنات متعددة بالإبلاغ عندما تكون جاهزة للتفاعل. سينتظر "ComponentActivity
" اكتمال جميع المكوّنات قبل طلب الرقم reportFullyDrawn()
بالنيابة عنك. تراعي واجهات برمجة التطبيقات هذه متطلبات التوقيت نيابةً عنك ولا تحتاج إلى طلبها كجزء من استدعاء onDraw
.
ننصح بتفعيل واجهات برمجة التطبيقات هذه:
- إرسال إشارة إلى "وقت تشغيل Android" عند اكتمال بدء التشغيل، لضمان تضمين كل الرموز البرمجية التي يتم تشغيلها أثناء تسلسل بدء تشغيل متعدد الإطارات، وإعطاء الأولوية لتجميع البيانات في الخلفية
- الإشارة إلى مقياس أداء الماكرو ومؤشرات Play الحيوية عندما يكون من المفترض أن يتم اعتبار تطبيقك قد تم رسمه بشكل كامل حسب مقاييس بدء التشغيل، حتى تتمكّن من تتبُّع الأداء
تمّت إضافة ثلاث واجهات برمجة تطبيقات Activity Compose لتسهيل استخدام 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 على عمليات التنفيذ هذه.
التغييرات في واجهة برمجة التطبيقات
- إنّ الإجراء والاستخدام الإضافي المستخدَم في عقدَي
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، وعليك الآن إلغاء السمةactivityResultRegistry
بدلاً من تنفيذ دالةgetActivityResultRegistry()
السابقة. (I0b00e) - تمت كتابة
OnBackPressedDispatcherOwner
الآن بلغة Kotlin. هذا تغيير في المصدر غير متوافق مع هذه الفئات المكتوبة بلغة Kotlin، وعليك الآن إلغاء السمةonBackPressedDispatcher
بدلاً من تنفيذ دالةgetOnBackPressedDispatcher
السابقة. (Ia277d) - تمت كتابة
ContextAware
وContextAwareHelper
وOnContextAvailableListener
وIntentSenderRequest
وOnBackPressedDispatcher
الآن بلغة Kotlin. (I1a73e وIada92 وaosp/2410754 وI18ac7 وb/257291701)
الإصدار 1.7.0-alpha04
25 كانون الثاني (يناير) 2023
تم طرح الإصدارات androidx.activity:activity:1.7.0-alpha04
وandroidx.activity:activity-compose:1.7.0-alpha04
وandroidx.activity:activity-ktx:1.7.0-alpha04
. يحتوي الإصدار 1.7.0-alpha04 على هذه عمليات التنفيذ.
الميزات الجديدة
- سيستخدم عقدَا "
PickVisualMedia
" و"PickMultipleVisualMedia
" الآن "أداة اختيار الصور" المتوفّرة في "خدمات Google Play" في الحالات التي قدّم فيها نظام Android "أداة اختيار الصور" (على سبيل المثال،MediaStore.ACTION_PICK_IMAGES
) غير متاح. إنّ واجهة برمجة التطبيقات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
الخاصة به وتضبطSavedStateRegistryOwner
لشجرة العرض. يمكن الآن استخدام Jetpack Compose ضِمنComponentDialog
لأنّها تستوفي كل منLifecycleOwner
وSavedStateRegistryOwner
المرفقَين بالنافذة من خلال متطلبات واجهات برمجة تطبيقات ViewTree. (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
على أجهزة Android R عند استخدام القيمة التلقائية لـmaxItems
. (Ie2776، وb/249182130)
الإصدار 1.7.0-alpha01
5 تشرين الأول (أكتوبر) 2022
تم طرح الإصدارات androidx.activity:activity:1.7.0-alpha01
وandroidx.activity:activity-compose:1.7.0-alpha01
وandroidx.activity:activity-ktx:1.7.0-alpha01
. يحتوي الإصدار 1.7.0-alpha01 على هذه عمليات التنفيذ.
واجهات برمجة تطبيقات FullyDrawnReporter
توفِّر ComponentActivity
الآن مثيل FullyDrawnReporter
يسمح لمكوّنات متعددة بالإبلاغ عندما تكون جاهزة للتفاعل. سينتظر "ComponentActivity
" اكتمال جميع المكوّنات قبل طلب الرقم reportFullyDrawn()
بالنيابة عنك. تراعي واجهات برمجة التطبيقات هذه متطلبات التوقيت نيابةً عنك ولا تحتاج إلى طلبها كجزء من استدعاء onDraw
.
ننصح بتفعيل واجهات برمجة التطبيقات هذه:
- إرسال إشارة إلى "وقت تشغيل Android" عند اكتمال بدء التشغيل، لضمان تضمين كل الرموز البرمجية التي يتم تشغيلها أثناء تسلسل بدء تشغيل متعدد الإطارات، وإعطاء الأولوية لتجميع البيانات في الخلفية
- الإشارة إلى مقياس أداء الماكرو ومؤشرات Play الحيوية عندما يكون من المفترض أن يتم اعتبار تطبيقك قد تم رسمه بشكل كامل حسب مقاييس بدء التشغيل، حتى تتمكّن من تتبُّع الأداء
تمّت إضافة واجهتَي برمجة تطبيقات Activity Compose لتسهيل استخدام "FullyDrawnReporter
" من عناصر فردية قابلة للإنشاء:
- يأخذ
ReportDrawnWhen
إسنادًا (أي،list.count > 0
) للإشارة إلى الوقت الذي يصبح فيه المحتوى القابل للإنشاء جاهزًا للتفاعل. - تستخدم
ReportDrawnAfter
طريقة تعليق، عند اكتمالها، تشير إلى استعدادك للتفاعل.
الإصدار 1.6.1
الإصدار 1.6.1
24 تشرين الأول (أكتوبر) 2022
تم طرح الإصدارات androidx.activity:activity:1.6.1
وandroidx.activity:activity-compose:1.6.1
وandroidx.activity:activity-ktx:1.6.1
. يحتوي الإصدار 1.6.1 على عمليات الالتزام هذه.
إصلاح الأخطاء
- تم إصلاح مشكلة عدم إطلاق عقد نتيجة النشاط على جهاز
PickMultipleVisualMedia
على أجهزة Android R عند استخدام القيمة التلقائية لـmaxItems
. (Ie2776، وb/249182130)
الإصدار 1.6.0
الإصدار 1.6.0
21 أيلول (سبتمبر) 2022
تم طرح الإصدارات androidx.activity:activity:1.6.0
وandroidx.activity:activity-compose:1.6.0
وandroidx.activity:activity-ktx:1.6.0
. يحتوي الإصدار 1.6.0 على هذه الالتزامات.
تغييرات مهمة منذ الإصدار 1.5.0
- تمت إضافة
ActivityResultContracts.PickVisualMedia
وActivityResultContracts.PickMultipleVisualMedia
لتوفير عقد متوافق مع الأنظمة القديمة يستخدمMediaStore.ACTION_PICK_IMAGES
عند توفّر أداة اختيار الصور، وIntent.ACTION_OPEN_DOCUMENT
عندما لا تكون متاحة. - تم دمج
OnBackInvokedCallback
في Android 13 معOnBackPressedDispatchers
المقدَّم منComponentActivity
وComponentDialog
. ويضمن ذلك عمل جميع واجهات برمجة التطبيقات المستنِدة إلىOnBackPressedDispatcher
عند تفعيل إيماءة رجوع قائمة على التوقّعات.
الإصدار 1.6.0-rc02
7 أيلول (سبتمبر) 2022
تم طرح الإصدارات androidx.activity:activity:1.6.0-rc02
وandroidx.activity:activity-compose:1.6.0-rc02
وandroidx.activity:activity-ktx:1.6.0-rc02
. يحتوي الإصدار 1.6.0-rc02 على هذه عمليات التنفيذ.
إصلاح الأخطاء
- يسجِّل
OnBackPressedDispatcher
الآنOnBackInvokedCallback
باستخدامPRIORITY_DEFAULT
بدلاً منPRIORITY_OVERLAY
. (I3901f) - سيتم الآن إرسال كل من استدعاءَي
onMultiWindowModeChanged()
للصفوف التي تمتد إلىComponentActivity
. (Ic4d85) - لن يعرض
ActivityResultRegistry
أي نتيجة بعد الآن إلىActivityResultCallback
عند طرح طلبlaunch
لأي نتيجة. تم تسجيلException
وتم تسجيل معاودة الاتصال بدون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 على هذه عمليات التنفيذ.
إصلاح الأخطاء
- لن يؤدي إعداد
OnBackPressedDispatcher
إلى حدوثClassVerificationError
بعد الآن عند استخدام إصدارات حزمة تطوير البرامج (SDK) الأقدم 33. (Ic32e1) - سيتم دائمًا إرسال استدعاءات الصفوف الدراسية التي تلغي استدعاء
onPictureInPictureModeChanged()
لـComponentActivity
. (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 على هذه الالتزامات.
التغييرات في واجهة برمجة التطبيقات
- تم وضع علامة على الطريقتَين
startActivityForResult
وstartIntentSenderForResult
المتوقّفتَين فيComponentActivity
باستخدام@NonNull
لأنّ اجتيازnull
يؤدي دائمًا إلى حدوث عطل. (Id2a25، b/231476082)
إصلاح الأخطاء
- من النشاط
1.5.1
: لن تعرضActivityResultRegistry
بعد ذلك أي نتيجة إلىActivityResultCallback
عند طرح مكالمةlaunch
لأيException
وتم تسجيل معاودة الاتصال بدونLifecycleOwner
. (Ia7ff7، b/238350794) - من النشاط
1.5.1
: سيرسلComponentActivity
الآن طلبات القائمة بشكل صحيح إلى عمليات إلغاءonPrepareOptionMenu()
وonCreateOptionsMenu()
وonOptionsItemSelected()
بدون الحاجة إلى استدعاء الوظيفة الفائقة. (Ie33c5، وb/238057118)
تعديل بشأن التبعية
- من النشاط
1.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 ليتوافق مع حزمة تطوير البرامج (SDK) للإصدار التجريبي 3 من Tiramisu
إصلاح الأخطاء
- تم إصلاح التعطُّل على الأجهزة القديمة عند البحث عن إضافة حزمة تطوير البرامج (SDK)
PickVisualMedia
لـActivityResultContract
حتى يعمل الآن معACTION_OPEN_DOCUMENT
على الأجهزة التي تعمل بنظام التشغيل Android 10 والإصدارات الأقدم.
الإصدار 1.6.0-alpha04
18 أيار (مايو) 2022
تم طرح androidx.activity:activity:1.6.0-alpha04
وandroidx.activity:activity-ktx:1.6.0-alpha04
.
إصلاح الأخطاء
- تم إصلاح خطأ في
PickVisualMediaRequest
حيث كانت محاولة إنشاء طلب، إما من خلال أداة إنشاء المواقع أو دالة Kotlin ذات المستوى الأعلى، تؤدي إلى تجاوز سعة تسلسل استدعاء الدوال البرمجية. - تم دمج
OnBackInvokedCallback
في الإصدار التجريبي 2 من Android 13 Dev فيOnBackPressedDispatcher
المقدَّم منComponentDialog
. ويضمن ذلك أن تعمل جميع واجهات برمجة التطبيقات المستنِدة إلىOnBackPressedDispatcher
عند تفعيل إيماءة الرجوع على التوقّعات.
الإصدار 1.6.0-alpha03
27 نيسان (أبريل) 2022
تم طرح الإصدارات androidx.activity:activity:1.6.0-alpha03
وandroidx.activity:activity-compose:1.6.0-alpha03
وandroidx.activity:activity-ktx:1.6.0-alpha03
.
- ملاحظة: لن يتم تجميع هذا الإصدار إلا مع حزمة تطوير البرامج (SDK) التجريبية 1 للمطوّرين لنظام التشغيل Android 13.
الميزات الجديدة
- تمت إضافة
ActivityResultContracts.PickVisualMedia
وActivityResultContracts.PickMultipleVisualMedia
لتوفير عقد متوافق مع الأنظمة القديمة يستخدمMediaStore.ACTION_PICK_IMAGES
عند توفّر أداة اختيار الصور، وIntent.ACTION_OPEN_DOCUMENT
عندما لا تكون متاحة. - تم دمج
OnBackInvokedCallback
في الإصدار التجريبي 1 من Android 13 Dev فيOnBackPressedDispatcher
المقدَّم منComponentActivity
. ويضمن ذلك أن تعمل جميع واجهات برمجة التطبيقات المستنِدة إلىOnBackPressedDispatcher
عند تفعيل إيماءة الرجوع على التوقّعات.
الإصدار 1.6.0-alpha01
23 آذار (مارس) 2022
تم طرح الإصدارات androidx.activity:activity:1.6.0-alpha01
وandroidx.activity:activity-compose:1.6.0-alpha01
وandroidx.activity:activity-ktx:1.6.0-alpha01
.
- ملاحظة: سيتم تجميع هذا الإصدار مع حزمة تطوير البرامج (SDK) الخاصة بمعاينة المطوّرين 2 لنظام التشغيل Android 13 فقط.
الميزات الجديدة
- تم دمج التغييرات في الإصدار 2 من "معاينة مطوّري البرامج من Android 13" في "
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 على عمليات الالتزام هذه.
إصلاح الأخطاء
لن تعرض
ActivityResultRegistry
بعد الآن نتيجة إلىActivityResultCallback
عندما يعرض طلبlaunch()
أي تم تسجيلException
وتم تسجيل معاودة الاتصال بدونLifecycleOwner
. (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 Integration: أصبح بإمكان
ComponentActivity
الآن توفيرViewModelProvider.Factory
بدون حالة عبرCreationExtras
في دورة الحياة2.5.0
.
التغييرات الأخرى
- تم إيقاف دالة إنشاء المعلَمات لـ
ActivityResultContracts.CreateDocument
نهائيًا واستبدالها بدالة إنشائية جديدة تستخدم نوع MIME ملموسًا (مثل "image/png") كما هو مطلوب منIntent.ACTION_CREATE_DOCUMENT
.
الإصدار 1.5.0-rc01
11 أيار (مايو) 2022
تم طرح إصدارات androidx.activity:activity:1.5.0-rc01
وandroidx.activity:activity-compose:1.5.0-rc01
وandroidx.activity:activity-ktx:1.5.0-rc01
بدون أي تغييرات من الإصدارات 1.5.0-beta01. يحتوي الإصدار 1.5.0-rc01 على هذه عمليات التنفيذ.
الإصدار 1.5.0-beta01
20 نيسان (أبريل) 2022
تم طرح الإصدارات androidx.activity:activity:1.5.0-beta01
وandroidx.activity:activity-compose:1.5.0-beta01
وandroidx.activity:activity-ktx:1.5.0-beta01
. يحتوي الإصدار 1.5.0-beta01 على هذه الالتزامات.
التعديلات المتعلقة بالاعتمادية
- يعتمد النشاط الآن على دورة الحياة
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 على هذه عمليات التنفيذ.
إصلاح الأخطاء
- يستدعي جهاز
onPanelClosed()
في "ComponentActivity
" الآن السمةonPanelClosed()
الفائقة أيضًا، ما يؤدي إلى إصلاح مشكلة عدم استدعاء طريقةonContextMenuClosed
. (Ib6f77)
الإصدار 1.5.0-alpha04
23 آذار (مارس) 2022
تم طرح الإصدارات androidx.activity:activity:1.5.0-alpha04
وandroidx.activity:activity-compose:1.5.0-alpha04
وandroidx.activity:activity-ktx:1.5.0-alpha04
. يحتوي الإصدار 1.5.0-alpha04 على هذه عمليات التنفيذ.
إصلاح الأخطاء
- يتيح
SavedStateViewFactory
الآن استخدامCreationExtras
حتى عند إعداده باستخدامSavedStateRegistryOwner
. وفي حال توفير إضافات، يتم تجاهل الوسيطات التي تم إعدادها. (I6c43b، b/224844583)
الإصدار 1.5.0-alpha03
23 شباط (فبراير) 2022
تم طرح الإصدارات androidx.activity:activity:1.5.0-alpha03
وandroidx.activity:activity-compose:1.5.0-alpha03
وandroidx.activity:activity-ktx:1.5.0-alpha03
. يحتوي الإصدار 1.5.0-alpha03 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- يمكنك الآن تمرير
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
المرتبطة بطبقة عرض يمكن الآن استردادها عبرViewTreeOnBackPressedDispatcherOwner
بدلاً من من الاعتماد على بث "Context
" (I74685)
إصلاح الأخطاء
- تم إصلاح عطل كان يحدث عند الوصول إلى
ViewModel
لأول مرة من معاودة الاتصال عبرregisterForActivityResult()
أو تمت إضافة عمليات معاودة الاتصال إلىLifecycleObserver
كجزء منinit
منComponentActivity
. (Ife83f)
الإصدار 1.4.0
الإصدار 1.4.0
27 تشرين الأول (أكتوبر) 2021
تم طرح الإصدارات androidx.activity:activity:1.4.0
وandroidx.activity:activity-compose:1.4.0
وandroidx.activity:activity-ktx:1.4.0
. يحتوي الإصدار 1.4.0 على عمليات الالتزام هذه.
تغييرات مهمة منذ الإصدار 1.3.0
- ينفذ AndroidX
ComponentActivity
الآن واجهةMenuHost
. يسمح ذلك لأي مكوِّن بإضافة عناصر القائمة إلىActionBar
عن طريق إضافة مثيلMenuProvider
إلى النشاط. يمكن إضافة كلMenuProvider
بشكل اختياري باستخدامLifecycle
الذي سيتحكّم تلقائيًا في إمكانية ظهور عناصر القائمة هذه استنادًا إلى حالةLifecycle
وسيعالج عملية إزالةMenuProvider
عند إتلافLifecycle
. - تمت إعادة كتابة الفئة
ActivityResultContract
في Kotlin للتأكّد من أنّ المطوّرين الذين يكتبون عقودًا مخصّصة في Kotlin يمكنهم تحديد قابلية القيم الفارغة الصحيحة لفئات الإدخال والمخرجات الخاصة بهم. - تمت إعادة كتابة الفئة
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 على هذه عمليات التنفيذ.
إصلاح الأخطاء
- لن تعرض
ActivityResultRegistry
نتيجة بعد الآن. إلىActivityResultCallback
عندما يعرض طلبlaunch
أيException
(If4f91 وb/200845664)
الإصدار 1.4.0-beta01
29 أيلول (سبتمبر) 2021
تم طرح الإصدارات androidx.activity:activity:1.4.0-beta01
وandroidx.activity:activity-compose:1.4.0-beta01
وandroidx.activity:activity-ktx:1.4.0-beta01
. يحتوي الإصدار 1.4.0-beta01 على عمليات التنفيذ هذه.
التغييرات في واجهة برمجة التطبيقات
- تم إصلاح نوع
ActivityResultContracts.OpenMultipleDocuments
أوActivityResultContracts.GetMultipleContents
الذي تسبب في استخدام نوع ناتجList<? extends Uri>
عند استخدام الرمز من لغة برمجة Java. (If71de) - يمكن الآن الوصول إلى الثوابت العامة في فئات
ActivityResultContracts.StartActivityForResult
وActivityResultContracts.StartIntentSenderForResult
وActivityResultContracts.RequestMultiplePermissions
عند استخدام لغة Kotlin من خلال كائناتCompanion
المتاحة للجميع الآن. (aosp/1832555)
آخر التعديلات على المستندات
- تم توسيع رسالة إيقاف واجهات برمجة التطبيقات (API) التي تعالجها واجهات برمجة تطبيقات نتائج الأنشطة، وهي
startActivityForResult
وstartIntentSenderForResult
وonActivityResult
وrequestPermissions
وonRequestPermissionsResult
، بمزيد من التفاصيل. (cce80f)
الإصدار 1.4.0-alpha02
15 أيلول (سبتمبر) 2021
تم طرح الإصدارات androidx.activity:activity:1.4.0-alpha02
وandroidx.activity:activity-compose:1.4.0-alpha02
وandroidx.activity:activity-ktx:1.4.0-alpha02
. يحتوي الإصدار 1.4.0-alpha02 على هذه عمليات التنفيذ.
الميزات الجديدة
- تحتوي عناصر
activity-compose
الآن على خطأ في الوبرLaunchDuringComposition
يمنعك من استدعاء طريقةlaunch
فيActivityResultLauncher
كجزء من التركيبة إذ يجب أن تكون التركيبة خالية من أي آثار جانبية. استخدام واجهات برمجة التطبيقات للتعامل مع الآثار الجانبية. (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
. يسمح ذلك لأي مكوِّن بإضافة عناصر القائمة إلىActionBar
عن طريق إضافة مثيلMenuProvider
إلى النشاط. يمكن إضافة كلMenuProvider
بشكل اختياري باستخدامLifecycle
الذي سيتحكّم تلقائيًا في إمكانية ظهور عناصر القائمة هذه استنادًا إلى حالةLifecycle
وسيعالج عملية إزالةMenuProvider
عند إتلافLifecycle
. (I3b608):
/**
* Using the addMenuProvider() API directly in your Activity
**/
class ExampleActivity : ComponentActivity(R.layout.activity_example) {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Add menu items without overriding methods in the Activity
addMenuProvider(object : MenuProvider {
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
// Add menu items here
menuInflater.inflate(R.menu.example_menu, menu)
}
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
// Handle the menu selection
return true
}
})
}
}
/**
* Using the addMenuProvider() API in a Fragment
**/
class ExampleFragment : Fragment(R.layout.fragment_example) {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
// The usage of an interface lets you inject your own implementation
val menuHost: MenuHost = requireActivity()
// Add menu items without using the Fragment Menu APIs
// Note how we can tie the MenuProvider to the viewLifecycleOwner
// and an optional Lifecycle.State (here, RESUMED) to indicate when
// the menu should be visible
menuHost.addMenuProvider(object : MenuProvider {
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
// Add menu items here
menuInflater.inflate(R.menu.example_menu, menu)
}
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
// Handle the menu selection
return true
}
}, viewLifecycleOwner, Lifecycle.State.RESUMED)
}
تغييرات السلوك
- سيطرح
ActivityResultRegistry
الآنIllegalStateException
عند محاولة الاتصال بـlaunch()
علىActivityResultLauncher
التي لم يتم تسجيلها أو التي تم غير المسجّلين. (Ida75d، b/192567522)
مساهمة خارجية
الإصدار 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 على عمليات الالتزام هذه.
التعديلات المتعلقة بالاعتمادية
- يعتمد النشاط الآن على لغة
1.5.21
بلغة Kotlin. - تعتمد ميزة "إنشاء النشاط" الآن على رمز الإنشاء
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
طريقة الإضافةsetContent
لاستضافة واجهة مستخدم Jetpack Compose ضِمن نشاط وإنشاء برامج تضمين محدَّدة للتفاعل مع واجهات برمجة تطبيقاتComponentActivity
للتعامل مع زر الرجوع في النظام وواجهات برمجة التطبيقات لنتائج النشاط. راجِع المستندات لمزيد من التفاصيل. - عقد CaptureVideo: يحلّ
ActivityResultContract
CaptureVideo
محلّ عقدTakeVideo
الذي تم إيقافه نهائيًا، ويعرض قيمة منطقية تشير إلى نجاح العديد من تطبيقات الكاميرا. - تتبُّع عرض تلميح الصورة - يمكن لمستخدمي
activity-ktx
الآن استخدام طريقة الإضافةtrackPipAnimationHintView
علىActivity
لإعادة إنشاءPictureInPictureParams
تلقائيًا بموضع جديد للعرض عند تغيير موضعه بالنسبة إلى النافذة.
الإصدار 1.3.0-rc02
14 يوليو 2021
تم طرح الإصدارات androidx.activity:activity:1.3.0-rc02
وandroidx.activity:activity-compose:1.3.0-rc02
وandroidx.activity:activity-ktx:1.3.0-rc02
. يحتوي الإصدار 1.3.0-rc02 على هذه عمليات التنفيذ.
إصلاح الأخطاء
- تم حفظ عمليات معاودة الاتصال الـ
ActivityResultRegistry
بشكل صحيح الآن واستعادتها بحيث لا يتم تكرار استدعاءات معاودة الاتصال في savedState. (I97816، b/191893160)
الإصدار 1.3.0-rc01
1 تموز (يوليو) 2021
تم طرح ميزات androidx.activity:activity:1.3.0-rc01
وandroidx.activity:activity-compose:1.3.0-rc01
وandroidx.activity:activity-ktx:1.3.0-rc01
بدون أي تغييرات من 1.3.0-beta02
. يحتوي الإصدار 1.3.0-rc01 على هذه عمليات التنفيذ.
الإصدار 1.3.0-beta02
16 حزيران (يونيو) 2021
تم طرح الإصدارات androidx.activity:activity:1.3.0-beta02
وandroidx.activity:activity-compose:1.3.0-beta02
وandroidx.activity:activity-ktx:1.3.0-beta02
. يحتوي الإصدار 1.3.0-beta02 على عمليات التنفيذ هذه.
تم تعديل الجدول "activity-compose
" لكي يعتمد على "إنشاء" 1.0.0-beta09
. تعتمد الدالة androidx.compose.ui:ui-test-junit4
الآن على وقت التجميع على activity-compose
.
الإصدار 1.3.0-beta01
2 حزيران (يونيو) 2021
تم طرح الإصدارات androidx.activity:activity:1.3.0-beta01
وandroidx.activity:activity-compose:1.3.0-beta01
وandroidx.activity:activity-ktx:1.3.0-beta01
. يحتوي الإصدار 1.3.0-beta01 على عمليات التنفيذ هذه.
التغييرات في واجهة برمجة التطبيقات
- وتمت إزالة طريقة
@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 على هذه عمليات التنفيذ.
الميزات الجديدة
- تُرجع قيمة
ActivityResultContract
الجديدة فيCaptureVideo
منطقي إلىActivityResultCallback
للإشارة إلى ما إذا كان الفيديو تم الحفظ بنجاح في عنوان URI المحدد. سيحلّ هذا الحلّ محلّ عقدTakeVideo
المتوقّف حاليًا، لأنّ تطبيقات الكاميرا نادرًا ما تتيح عرض صورة نقطية، ما يجعل النتيجة غير مفيدة. (Ie21f2، b/185938070) - تمت إضافة واجهة برمجة التطبيقات الجديدة
Activity#setPipAnimationHintView
لتحديثها The PipParams' تلميح مستطيل المصدر كلما تم نقل طريقة العرض. (I9063d)
التغييرات في واجهة برمجة التطبيقات
- تُرجع الدالة
rememberLauncherForActivityResult
الآن مشغِّل التطبيقات الذي يوقف وظيفةunregister()
نهائيًا - تتم معالجة تسجيل المشغِّل وإلغاء تسجيله تلقائيًا بواسطةrememberLauncherForActivityResult
. (I2443e)
التوافق مع إنشاء الرسائل
- يتوافق "
androidx.activity:activity-compose:1.3.0-alpha08
" فقط مع الإصدار1.0.0-beta07
والإصدارات الأحدث من ميزة إنشاء الرسائل.
الإصدار 1.3.0-alpha07
21 نيسان (أبريل) 2021
تم طرح الإصدارات androidx.activity:activity:1.3.0-alpha07
وandroidx.activity:activity-compose:1.3.0-alpha07
وandroidx.activity:activity-ktx:1.3.0-alpha07
. يحتوي الإصدار 1.3.0-alpha07 على هذه عمليات التنفيذ.
إصلاح الأخطاء
rememberLauncherForActivityResult
الآن يُرجع مرجعًا ثابتًا إلى نفس مثيلActivityResultLauncher
حتى إذا كانت تغييرات العقد بسبب إعادة التركيب. (Id2d6d)- لن يؤدي استخدام إصدارات غير ثابتة من الأجزاء التي تزيد قيمتها عن
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
الذي يحتوي على إدخالUnit
في حدوثNullPointerException
(I76282, b/183837954)
الإصدار 1.3.0-alpha05
24 آذار (مارس) 2021
تم طرح الإصدارات androidx.activity:activity:1.3.0-alpha05
وandroidx.activity:activity-compose:1.3.0-alpha05
وandroidx.activity:activity-ktx:1.3.0-alpha05
. يحتوي الإصدار 1.3.0-alpha05 على هذه عمليات التنفيذ.
إصلاح الأخطاء
- من النشاط 1.2.2: تم إصلاح مشكلة في فحص أداة Lint
InvalidFragmentVersionForActivityResult
وأدت إلى ظهور موجب خاطئ عند استخدام الجزء 1.3.1 أو إصدار أحدث. (I54da1، b/182388985) - من النشاط 1.2.2: يتجنّب
ComponentActivity
الآنClassNotFoundException
عند تشغيلIntent
من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) - لم تعُد ميزة "إنشاء النشاط" تضيف الاختبار. والتبعيات إلى مسار فئة بيئة التشغيل. (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
تتسبّب في استثناءNoSuchMethodError: No static method setContent
عند استخدام ميزة "إنشاء"1.0.0-alpha12
. يجب أن يعتمد جميع مستخدمي Compose على1.3.0-alpha02
والإصدارات الأحدث. (b/179911234)
التغييرات في واجهة برمجة التطبيقات
- يمكن استخدام
BackHandler
API للسماح لـ 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
الجديد أدوات مساعدة محدَّدة في Jetpack Compose لواجهات برمجة تطبيقاتandroidx.activity
المحدَّدة.- تم نقل "
ComponentActivity.setContent
" منandroidx.compose.ui.platform.setContent
إلىandroidx.activity.compose.setContent
. (Icf416)
- تم نقل "
المشاكل المعروفة
- سيؤدي استخدام ميزة "إنشاء النشاط"
1.3.0-alpha01
والمكتبات التي تعتمد عليها، مثلandroidx.compose.ui:ui-test-junit4:1.0.0-alpha12
، إلى استثناءNoSuchMethodError: No static method setContent
. (b/179911234)
الإصدار 1.2.4
الإصدار 1.2.4
21 يوليو 2021
تم طرح androidx.activity:activity:1.2.4
وandroidx.activity:activity-ktx:1.2.4
. يحتوي الإصدار 1.2.4 على عمليات الالتزام هذه.
إصلاح الأخطاء
- من النشاط
1.3.0-rc02
: تم الآن حفظ استدعاءات ActivityResultRegistry بشكل صحيح واستعادتها بحيث لا يتم تكرار استدعاءات معاودة الاتصال في savedState. (I97816، b/191893160)
الإصدار 1.2.3
الإصدار 1.2.3
5 أيار (مايو) 2021
تم طرح androidx.activity:activity:1.2.3
وandroidx.activity:activity-ktx:1.2.3
. يحتوي الإصدار 1.2.3 على هذه الالتزامات.
إصلاح الأخطاء
- استخدام إضافة الطريقة
launch()
مع إضافة مخصصة لن يتسبب الحقلActivityResultContract
الذي يحتوي على إدخالUnit
في حدوثNullPointerException
(I76282, b/183837954) - تم إصلاح خطأ الوبر الموجب الخاطئ الذي يطالبك باستخدام جزء
1.3.0
عند استخدام لقطة أو إصدار ألفا أو إصدار تجريبي أو ميزة RC من إصدار أحدث من "الأجزاء". (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 على عمليات الالتزام هذه.
إصلاح الأخطاء
- تم إصلاح مشكلة في فحص أداة Lint
InvalidFragmentVersionForActivityResult
أدّت إلى ظهور موجبة خاطئة عند استخدام الجزء 1.3.1 أو إصدار أحدث. (I54da1، b/182388985) - يتجنّب
ComponentActivity
الآنClassNotFoundException
عند إطلاقIntent
من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
" الآن مع واجهات برمجة التطبيقاتViewTreeLifecycleOwner.get(View)
وViewTreeViewModelStoreOwner.get(View)
وViewTreeSavedStateRegistryOwner
التي تمت إضافتها في رحلة المستخدِم2.3.0
وSavedState1.1.0
، ما يؤدي إلى عرض "النشاط" على النحو التالي:LifecycleOwner
وViewModelStoreOwner
وSavedStateRegistryOwner
لأي ملف شخصي تتم إضافته مباشرةً إلىComponentActivity
.
- reportFullyDrawn(): الإجراء
Activity
الذي تم تنفيذهreportFullyDrawn()
في الإصدار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 على عمليات التنفيذ هذه.
إصلاح الأخطاء
- تم إصلاح مشكلة تتعلّق بـ Activity Result API
لن ينتظر حتى تكون دورة الحياة
STARTED
قبل تقديم النتائج عند التسجيل لدىLifecycle
. (I109ea)
مساهمة خارجية
- تم تعديل مستندات "
launch()
" للإشارة صراحةً إلى إمكانية طرحActivityNotFoundException
. شكرًا مايكل زيلينسكي! (aosp/1493580)
الإصدار 1.2.0-beta01
1 تشرين الأول (أكتوبر) 2020
تم طرح androidx.activity:activity:1.2.0-beta01
وandroidx.activity:activity-ktx:1.2.0-beta01
. يحتوي الإصدار 1.2.0-beta01 على عمليات التنفيذ هذه.
إصلاح الأخطاء
تنشئ
ActivityResultRegistry
الآن أعدادًا صحيحة بشكل عشوائي إلى أن تعثر على رقم غير مخصّص لاستخدامه كرمز طلبregister()
، ما يمنع الزيادة المحتملة في العدد الصحيح الناتج عن زيادة رموز الطلب. (b/168779518)تتم إزالة
Lifecycle
مراقبًا بشكلٍ صحيح عند الاتصال بـunregister()
علىActivityResultLauncher
. (b/165608393)
تغييرات السلوك
- يطرح
ActivityResultRegistry
الآنIllegalStateException
عند محاولة الاتصال بـregister()
معLifecycleOwner
الذي سبق له وصولLifecycle
إلىSTARTED
. (b/165435866)
تم تعديل المستندات
- تتضمّن مستندات "
ContextAware
" روابط إلىLifecycleOwner
لتمييز عمليات استدعاء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
في القسم 1.3.0-alpha08 لاستعادة حالةFragmentManager
. أي أدوات استماع تمت إضافتها إلى الفئات الفرعية منFragmentActivity
سيتم تشغيلها بعد ذلك المستمع. (I513da) - يتم استخدام واجهة برمجة التطبيقات هذه من قِبل "
AppCompatActivity
" في AppCompat 1.3.0-alpha02. أي أدوات استماع تمت إضافتها إلى الفئات الفرعية منAppCompatActivity
سيتم تشغيلها بعد ذلك المستمع. (I513da)
- تتيح لك إضافة Kotlin المعلّقة
إصلاح الأخطاء
- تم إصلاح مشكلة في فحص أداة Lint
ActivityResultFragmentVersionDetector
تسبَّبت في تعطُّله عند استخدام Lint 27.1.0 أو إصدار أحدث. (b/162155191)
الإصدار 1.2.0-alpha07
22 تموز (يوليو) 2020
تم طرح androidx.activity:activity:1.2.0-alpha07
وandroidx.activity:activity-ktx:1.2.0-alpha07
. يحتوي الإصدار 1.2.0-alpha07 على هذه عمليات التنفيذ.
الميزات الجديدة
- تمت إضافة فحص جديد من أداة Lint في نظام التشغيل
InvalidFragmentVersionForActivityResult
للتحقُّق من استخدامك لأداة Fragment1.3.0-alpha07
عند استخدام Activity Result API، لتجنُّب حدوث أعطال في وقت التشغيل بسبب مشاكل "رمز طلب غير صالح" وطلبات الحصول على أذونات غير مُفعّلة بسبب استخدام إصدارات قديمة من "الأجزاء". (b/152554847)
مساهمة خارجية
- تم إصلاح
ArrayIndexOutOfBoundsException
عندما تحليل نتائج نشاطRequestPermission
عقد النتيجة. (I8f9e3، وb/161057605)
الإصدار 1.2.0-alpha06
10 حزيران (يونيو) 2020
تم طرح androidx.activity:activity:1.2.0-alpha06
وandroidx.activity:activity-ktx:1.2.0-alpha06
. يحتوي الإصدار 1.2.0-alpha06 على هذه عمليات التنفيذ.
الميزات الجديدة
- يمكنك الآن حذف فئة
ActivityResult
في لغة kotlin من أجل الوصول مباشرةً إلىrequestCode
وintent
. (b/157212935) - يتيح لك
ActivityResultLauncher
الآن الحصول علىActivityResultContract
الذي تم استخدامه لتسجيل مشغّل التطبيقات. (b/156875743)
التغييرات في واجهة برمجة التطبيقات
- تغيير قد يؤدي إلى عطل: تمت إعادة تسمية طريقة
invoke()
فيActivityResultRegistry
إلىonLaunch()
. (b/157496491) - يعرض عقد
OpenMultipleDocuments
الآن قائمة فارغة. بدلاً منnull
إلى معاودة الاتصال المسجَّلة في حال عدم إرجاع أي نتيجة. (b/157348014)
الإصدار 1.2.0-alpha05
20 أيار (مايو) 2020
تم طرح androidx.activity:activity:1.2.0-alpha05
وandroidx.activity:activity-ktx:1.2.0-alpha05
. يحتوي الإصدار 1.2.0-alpha05 على هذه عمليات التنفيذ.
الميزات الجديدة
- تمت إضافة دعم لـ
ViewTreeViewModelStoreOwner
من رحلة المستخدم2.3.0-alpha03
وViewTreeSavedStateRegistryOwner
من SavedState1.1.0-alpha01
عند استخدامView
فيComponentActivity
. (aosp/1297993، aosp/1300264)
التغييرات في واجهة برمجة التطبيقات
- يعرض عقد
TakePicture
الآن الرمزboolean
الذي يشير إلى النجاح بدلاً من الصورة المصغّرةBitmap
لأنّه نادرًا ما كانت هذه العلامة متاحة في تطبيقات الكاميرا عند كتابة الصورة فيUri
المقدَّم. (b/154302879) - تمت إزالة إضافات
invoke()
علىActivityResultLauncher
لصالح استخدامlaunch()
صراحةً للإشارة بشكل أفضل إلى أن هذه عمليات غير متزامنة. تمت إضافة إضافات لغة Kotlin الخاصة بـlaunch
إلى حزمةandroidx.activity.result
لكل منActivityResultLauncher<Void>
وActivityResultLauncher<Unit>
، ما أدى إلى إزالة الحاجة إلى التمرير فيnull
أوUnit
على التوالي، ما يعكس هذا السلوك من الإضافاتinvoke()
السابقة. (aosp/1304674، aosp/1304675) - تم دمج طريقة
IntentSenderRequest.Builder
لكل منsetFlagsMask()
وsetFlagsValues()
في طريقةsetFlags()
واحدة. (aosp/1302111)
إصلاح الأخطاء
- عند تسجيل
ActivityResultCallback
معLifecycleOwner
، يجب حلّ مشكلة تشغيل معاودة الاتصال قبل وصول الحالة إلىSTARTED
. (aosp/1309744)
تغييرات السلوك
- تُنشئ
ActivityResultRegistry
الآن رموز طلب بدءًا من0xFFFF
بدلاً من0
، ما يمنع التداخل عند استخدامstartActivityForResult()
أوrequestPermissions()
في أي نشاط. (aosp/1302324)
الإصدار 1.2.0-alpha04
29 نيسان (أبريل) 2020
تم طرح androidx.activity:activity:1.2.0-alpha04
وandroidx.activity:activity-ktx:1.2.0-alpha04
. يحتوي الإصدار 1.2.0-alpha04 على هذه عمليات التنفيذ.
الميزات الجديدة
- تمت إضافة عقد يمكنه استدعاء startIntentSenderForResult إلى واجهات برمجة تطبيقات ActivityResult. (b/153007517)
التغييرات في واجهة برمجة التطبيقات
- تمت إعادة تسمية طريقة
prepareCall()
إلىregisterForActivityResult()
، في كل منComponentActivity
هنا وفي الجزء1.3.0-alpha04
. (aosp/1278717) - تمت إعادة تسمية العقود
GetContents
وOpenDocuments
وRequestPermissions
إلىGetMultipleContents
وOpenMultipleDocuments
وRequestMultiplePermissions
على التوالي. (aosp/1280161) - تنفِّذ
ComponentActivity
الآن واجهةActivityResultRegisteryOwner
. (aosp/1290888) - - تم إيقاف واجهتَي برمجة التطبيقات
startActivityForResult()
/onActivityResult()
وonRequestPermissionsResult()
على "ComponentActivity
" نهائيًا. يُرجى استخدام واجهات برمجة تطبيقات نتائج الأنشطة. (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 على هذه عمليات التنفيذ.
الميزات الجديدة
- تمت إضافة العقود
TakeVideo
وPickContact
وGetContent
وGetContents
وOpenDocument
وOpenDocuments
وOpenDocumentTree
وCreateDocument
إلى مجموعة العقود المنشأة مسبقًا منActivityResultContracts
. (aosp/1262482 وaosp/1266916 وaosp/1268960) - تتيح واجهات برمجة تطبيقات نتائج الأنشطة الآن بدء نشاط للنتيجة باستخدام علامة
ActivityOptionsCompat
اختيارية. (b/151860054)
التغييرات في واجهة برمجة التطبيقات
- يأخذ عقد
TakePicture
الآن إدخالUri
للمكان الذي يجب تخزين الصورة فيه. تمت إعادة تسمية العقد السابق الذي لا يتطلّب أي إدخال إلىTakePicturePreview
. (aosp/1262482) - تمت إعادة تسمية طريقة
registerActivityResultCallback()
علىActivityResultRegistry
إلىregister()
. (aosp/1267621) - تمت إعادة تسمية الطريقة
dispose()
علىActivityResultLauncher
إلىunregister()
وإزالةunregisterResultCallback()
فيActivityResultRegistry
. (aosp/1267621) - تستخدم طريقة
createIntent()
لـActivityResultContact
الآن السمةContext
بالإضافة إلى الإدخال لإتاحة إنشاء أهداف صريحة. (aosp/1238800) - يمكن لـ
ActivityResultContract
الآن إلغاءgetSynchronousResult()
لعرض نتيجة بدون طلبstartActivityForResult
. ويُستخدَم ذلك في العقدَينRequestPermission
وRequestPermissions
لعرض الحالة "تمّ منح الإذن" بشكل صحيح إذا سبق أن تم منح الأذونات المطلوبة. (b/151110799) - تمت إزالة عقد
Dial
الذي كان متاحًا في السابق لأنّIntent
لا تريد استخدامه معstartActivityForResult()
. (aosp/1266916) - أصبحت العديد من واجهات برمجة تطبيقات نتائج الأنشطة التي لم يكن من المفترض تمديدها الآن هي
final
. يشمل ذلكgetActivityResultRegistry()
وطرقprepareCall()
وجميع طرقActivityResultRegistry
باستثناءinvoke()
وعدد من العقود التلقائية التي لا تتيح استخدام العناصر الإضافية الاختيارية. (b/152439361)
إصلاح الأخطاء
- تم إصلاح
NullPointerException
فيActivityResultRegistry
عند محاولة عرض النتائج لمعاودة الاتصال التي لم تتم إعادة تسجيلها بعد تغيير الإعدادات. يحتفظ "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 على هذه عمليات التنفيذ.
الميزات الجديدة
- تمت إضافة معلومات عن واجهة برمجة التطبيقات "
ViewTreeLifecycleOwner.get(View)
" المُضافة في دورة الحياة2.3.0-alpha01
، ما يؤدي إلى عرض "النشاط" على أنّهLifecycleOwner
لأي ملف شخصي تتم إضافته مباشرةً إلى "النشاط". (aosp/1182955)
إصلاح الأخطاء
- تم إصلاح التراجع الذي تم تقديمه في النشاط "
1.1.0
" عند تشغيل التطبيق على إصدارات قديمة من النظام الأساسي، حيث يتسببonBackPressed()
في حدوثIllegalStateException
بسبب خطأ فيandroid.app.FragmentManager
. (b/146290338)
الإصدار 1.1.0
الإصدار 1.1.0
22 كانون الثاني (يناير) 2020
تم طرح androidx.activity:activity:1.1.0
. يحتوي الإصدار 1.1.0 على عمليات التنفيذ هذه.
تغييرات مهمة منذ الإصدار 1.0.0
- دمج Lifecycle ViewTemplateState:
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
و"حفظ النموذج على مراحل النشاط" "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 على عمليات التنفيذ هذه.
التغييرات في التبعية
- يعتمد النشاط الآن على الإصدار SaveState 1.0.0 الثابت.
الإصدار 1.1.0-alpha03
5 أيلول (سبتمبر) 2019
تم طرح androidx.activity:activity:1.1.0-alpha03
وandroidx.activity:activity-ktx:1.1.0-alpha03
. يمكن الاطّلاع على صفقات الاشتراك المضمَّنة في هذا الإصدار هنا.
الميزات الجديدة
- يعتمد النشاط الآن على الإصدار 1.1.0 الثابت من Core.
إصلاح الأخطاء
- يعتمد النشاط الآن على دورة الحياة
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
. يمكن الاطّلاع على صفقات الاشتراك المضمَّنة في هذا الإصدار هنا.
الميزات الجديدة
SavedStateViewModelFactory
هو الآن المصنع التلقائي المستخدم عند استخدامby viewModels()
، أو طريقة إنشاءViewModelProvider
، أوViewModelProviders.of()
معComponentActivity
(b/135716331).
الإصدار 1.1.0-alpha01
2 تموز (يوليو) 2019
تم طرح androidx.activity:activity:1.1.0-alpha01
وandroidx.activity:activity-ktx:1.1.0-alpha01
. يمكن الاطّلاع على صفقات الاشتراك المضمَّنة في هذا الإصدار هنا.
الميزات الجديدة
- تعتمد ميزة "
activity
" الآن على "دورة الحياة"2.2.0-alpha02
. (aosp/1007817) - أضاف
activity-ktx
تبعية إلىlifecycle-runtime-ktx
؛ لم تعُد بحاجة إلى إضافتها بشكل صريح إلى العناصر التابعة عند استخدامactivity-ktx
أو المكتبات التي تعتمد علىactivity-ktx
(مثلfragment-ktx
). (aosp/987162)
الإصدار 1.0.0
الإصدار 1.0.0
5 أيلول (سبتمبر) 2019
تم طرح androidx.activity:activity:1.0.0
وandroidx.activity:activity-ktx:1.0.0
. يمكن الاطّلاع على صفقات الاشتراك المضمَّنة في هذا الإصدار هنا.
الميزات الرئيسية للإصدار 1.0.0
- ComponentActivity: تعمل "
ComponentActivity
" على أنّها الفئة الأساسية الجديدة لـ "FragmentActivity
" في القسم1.1.0
، وبالتاليAppCompatActivity
في AppCompat1.1.0
. - activity-ktx: تتضمّن وحدة
activity-ktx
إضافة الموقع الإلكتروني بلغةby viewModels
Kotlin للوصول إلى ViewModels. يتم تضمين هذه الوحدة تلقائيًا عند تضمينfragment-ktx
من القسم1.1.0
. - OnBackPressedDispatcher: كبديل قابل للإنشاء لإلغاء
onBackPressed()
، يمكنك الآن تسجيلOnBackPressedCallback
من أيLifecycleOwner
(مثل جزء) لاعتراض أحداث زر الرجوع في النظام. تمت إضافة دالة lambda مع إصدار المستلِم (addCallback
) إلىactivity-ktx
. راجِع تقديم مستندات مخصّصة للتنقّل للخلف للحصول على مزيد من التفاصيل. - إيقاف 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
. يمكن الاطّلاع على صفقات الاشتراك المضمَّنة في هذا الإصدار هنا.
التغييرات في واجهة برمجة التطبيقات
- تغيير قد يؤدي إلى عطل: تمت إزالة الطريقتين
addOnBackPressedCallback
وremoveOnBackPressedCallback
المتوقفتين سابقًا فيComponentActivity
. aosp/953857 - أصبحت الآن الطريقتان
setEnabled()
وisEnabled()
لحسابOnBackPressedCallback
نهائية. b/131416833 - أصبحت طريقة
remove()
لحسابOnBackPressedCallback
نهائية. aosp/952720 - يتوفّر في
OnBackPressedDispatcher
الآن منصات إنشاء عامة، ما يسمح لك بإنشاء مثيلات خاصة بك للاختبار، وما إلى ذلك. aosp/953431 - تم الآن وضع علامة
@MainThread
aosp/952721 بشكل واضح علىonBackPressed()
للنطاقComponentActivity
.
إصلاح الأخطاء
- تم إصلاح
ConcurrentModificationException
عند استدعاءremove()
من داخل طريقةhandleOnBackPressed()
منOnBackPressedCalback
تمت إضافتها باستخدامLifecycleOwner
. b/131765095
الإصدار 1.0.0-alpha07
25 نيسان (أبريل) 2019
تم طرح androidx.activity:activity:1.0.0-alpha07
وandroidx.activity:activity-ktx:1.0.0-alpha07
. يمكن الاطّلاع على صفقات الاشتراك المضمَّنة في هذا الإصدار هنا.
التغييرات في واجهة برمجة التطبيقات
يُجري هذا الإصدار تغييرات كبيرة على طريقة معالجة onBackPressed()
. لمعرفة مزيد من التفاصيل، يمكنك الاطّلاع على المستندات المعدَّلة الخاصة بخلفية مخصّصة.
- تم وضع علامة
@MainThread
على الطريقتَينOnBackPressedCallback
وOnBackPressedDispatcher
. (aosp/943813) - لن تعرض الطريقة
handleOnBackPressed()
بعد الآنboolean
. بدلاً من ذلك، أصبحتOnBackPressedCallback
فئة مجردة يمكن تفعيلها أو إيقافها. وعندما تعرض طريقةisEnabled()
الجديدة القيمة "صحيح"، سيتم استدعاءhandleOnBackPressed()
، حيث يجب التعامل مع زر الرجوع. (aosp/944518) - لم تعُد الطرق
addCallback
للدالةOnBackPressedDispatcher
تعرض مثيلCancellable
. يحتويOnBackPressedCallback
الآن على طريقةremove()
التي تفي بهذه الوظيفة، ما يسمح لك بطلبremove()
خلالhandleOnBackPressed()
. (aosp/944519) (aosp/946316) - يحتوي "
activity-ktx
" الآن على استدعاء على مستوى المتلقي لـaddCallback
يقبل دالة lamdba التي تنفِّذhandleOnBackPressed()
ويمكنها الوصول إلىisEnabled
وremove()
(aosp/944520)
الإصدار 1.0.0-alpha06
3 نيسان (أبريل) 2019
تم طرح androidx.activity:activity:1.0.0-alpha06
وandroidx.activity:activity-ktx:1.0.0-alpha06
. يمكن الاطّلاع على صفقات الاشتراك المضمَّنة في هذا الإصدار هنا.
التغييرات في واجهة برمجة التطبيقات
- يحتوي ComponentActivity الآن على دالة إنشاء ثانية تستبدل
@LayoutRes int
بالسلوك السابق لإضافة تعليقات توضيحية إلى فئة AppCompatActivity بـ "@ContentView
". تعمل هذه الطريقة في وحدات المكتبة والتطبيقات. (b/128352521) - تم إيقاف واجهات برمجة التطبيقات ذات الصلة "
OnBackPressedCallback
" في ComponentActivity نهائيًا لصالح "OnBackPressedDispatcher
" الجديد، ويمكن استرداده من خلال "getOnBackPressedDispatcher()
". (aosp/922523) - تؤدي الآن طرق إضافة
OnBackPressedCallback
جديدة إلىOnBackPressedDispatcher
إلى عرض كائنCancellable
، ما يسمح بإزالة الاستدعاء بدون الحاجة إلى إشارة صريحة إلىOnBackPressedDispatcher
. (aosp/922523) - تؤدي إضافة
OnBackPressedCallback
معLifecycleOwner
مرتبط الآن إلى إضافةOnBackPressedCallback
وإزالتها عند بدء دورة الحياة وإيقافها، على التوالي. (aosp/922523)
الإصدار 1.0.0-alpha05
13 آذار (مارس) 2019
androidx.activity:activity:1.0.0-alpha05
و
تم طرح androidx.activity:activity-ktx:1.0.0-alpha05
. القائمة الكاملة لخطط الاشتراك
يمكن العثور عليها في هذا الإصدار هنا.
الميزات الجديدة
- تم تخزين عمليات البحث عن تعليقات توضيحية في
@ContentView
مؤقتًا (b/123709449).
الإصدار 1.0.0-alpha04
30 كانون الثاني (يناير) 2019
تم طرح ميزات androidx.activity:activity 1.0.0-alpha04
وandroidx.activity:activity-ktx 1.0.0-alpha04
.
الميزات الجديدة
- تمت إضافة إمكانية استخدام التعليق التوضيحي من فئة
@ContentView
للإشارة إلى التنسيق الذي يجب تضخيمه بتنسيق XML كبديل لاستخدامsetContentView()
. (aosp/837619)
التغييرات في واجهة برمجة التطبيقات
- تمت إضافة ملاحظة بأنّه يجب عدم إلغاء
getViewModelStore()
وسيتم إدراجه بشكل نهائي في إصدار مستقبلي. يُرجى تقديم طلب ميزة إذا كنت تتجاوز هذه الطريقة في الوقت الحالي. (aosp/837619)
إصلاح الأخطاء
- تعتمد وحدة
activity
الآن على الإصدار 2.1.0-alpha02 من ViewModel لتتطابق مع اعتماد الوحدة النمطيةactivity-ktx
.
الإصدار 1.0.0-alpha03
17 كانون الأول (ديسمبر) 2018
تم طرح androidx.activity 1.0.0-alpha03
.
الميزات الجديدة
- ينفذ ComponentActivity الآن
BundleSavedStateRegistryOwner
ويعتمد على مكتبة SaveState التي تم إصدارها حديثًا [aosp/815133] - يعمل ComponentActivity الآن على حل خطأ في إطار عمل Android قد يتسبب في تسريب طريقة العرض الأخيرة التي تم التركيز عليها، [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
الميزات الجديدة
- يمكنك الآن تسجيل
OnBackPressedCallback
عبرaddOnBackPressedCallback
. لتلقّيonBackPressed()
عمليات معاودة الاتصال بدون الحاجة إلى إلغاء الطريقة في نشاطك. - تمت إضافة تفويض جديد لخاصية
by viewModels()
Kotlin لاسترداد البيانات.ViewModel
منComponentActivity
. - يتم الآن إلغاء أحداث الإدخال المعلَّقة (مثل النقرات) في
onStop()
.
التغييرات في واجهة برمجة التطبيقات
- تم تنفيذ
LifecycleOwner
وViewModelStoreOwner
تم نقله منFragmentActivity
إلىComponentActivity
. - تم إيقاف
onRetainCustomNonConfigurationInstance
نهائيًا. يمكنك استخدامViewModel
لتخزين العناصر التي تحتاج إلى دعم التغييرات في الإعدادات.