يقدّم نظام التشغيل Android 16 ميزات وواجهات برمجة تطبيقات جديدة رائعة للمطوّرين. تلخّص المقاطع التالية هذه الميزات لمساعدتك على البدء باستخدام واجهات برمجة التطبيقات ذات الصلة.
للحصول على قائمة مفصّلة لواجهات برمجة التطبيقات الجديدة والمعدَّلة والمُزالة، يُرجى الاطّلاع على تقرير اختلافات واجهة برمجة التطبيقات. للحصول على تفاصيل عن واجهات برمجة التطبيقات الجديدة، يُرجى الانتقال إلى مرجع واجهة برمجة تطبيقات Android. ويتم تمييز واجهات برمجة التطبيقات الجديدة لسهولة الاطّلاع عليها.يجب أيضًا مراجعة الجوانب التي قد تؤثر فيها تغييرات النظام الأساسي على تطبيقاتك. لمزيد من المعلومات، يُرجى الاطّلاع على الصفحات التالية:
- التغييرات في السلوك التي تؤثّر في التطبيقات عند استهدافها الإصدار 16 من نظام التشغيل Android
- التغييرات في السلوك التي تؤثر في جميع التطبيقات بغض النظر عن
targetSdkVersion
الوظيفة الأساسية
يتضمّن Android واجهات برمجة تطبيقات جديدة توفّر إمكانات إضافية لنظام Android.
إصداران من واجهة برمجة تطبيقات Android في عام 2025
- هذه المعاينة مخصّصة للإصدار الرئيسي التالي من Android والمقرر إطلاقه في الربع الثاني من عام 2025. يشبه هذا الإصدار جميع إصدارات واجهة برمجة التطبيقات التي طرحناها في السابق، حيث يمكن أن نُجري تغييرات مخطّط لها في السلوك غالبًا ما تكون مرتبطة بقيمة targetSdkVersion.
- نحن نخطّط لطرح الإصدار الرئيسي في الربع الثاني من العام بدلاً من الربع الثالث كما كان الحال في الأعوام السابقة، وذلك لمواءمة الجدول الزمني لإطلاق الأجهزة في منظومتنا المتكاملة بشكل أفضل، ما يتيح لمزيد من الأجهزة الحصول على الإصدار الرئيسي من Android في وقت أقرب. مع طرح الإصدار الرئيسي في الربع الثاني من العام، عليك إجراء اختبار التوافق السنوي قبل بضعة أشهر من السنوات السابقة للتأكّد من جاهزية تطبيقاتك.
- نخطّط لطرح إصدار آخر في الربع الرابع من عام 2025 سيتضمّن أيضًا واجهات برمجة تطبيقات جديدة للمطوّرين. سيكون الإصدار الرئيسي للربع الثاني من العام هو الإصدار الوحيد في عام 2025 الذي يتضمّن تغييرات مخطّط لها في السلوك قد تؤثّر في التطبيقات.
بالإضافة إلى واجهات برمجة التطبيقات الجديدة للمطوّرين، سيتضمّن الإصدار الثانوي للربع الرابع تحديثات ميزات وتحسينات وإصلاحات أخطاء، ولن يتضمّن أي تغييرات في السلوك تؤثّر في التطبيق.

سنواصل طرح إصدارات Android كل ثلاثة أشهر. ستوفّر تحديثات الرُبع الأول والرُبع الثالث بين إصدارات واجهة برمجة التطبيقات تحديثات تدريجية للمساعدة في ضمان باستمرارية الجودة. نحن نعمل بنشاط مع شركائنا من المصنّعين لطرح الإصدار في الربع الثاني على أكبر عدد ممكن من الأجهزة.
استخدام واجهات برمجة التطبيقات الجديدة مع الإصدارات الرئيسية والثانوية
يتم حاليًا حماية كتلة رمز باستخدام عملية تحقّق من مستوى واجهة برمجة التطبيقات باستخدامCONSTANTSDK_INT
معVERSION_CODES
. وسيستمر
إتاحة هذا الإجراء لإصدارات Android الرئيسية.
if (SDK_INT >= VERSION_CODES.BAKLAVA) {
// Use APIs introduced in Android 16
}
يمكن استخدام الثابت الجديد SDK_INT_FULL
لعمليات التحقّق من واجهة برمجة التطبيقات في كلّ من الإصدارات الرئيسية والثانوية باستخدام التعداد الجديد VERSION_CODES_FULL
.
if (SDK_INT_FULL >= VERSION_CODES_FULL.[MAJOR or MINOR RELEASE]) {
// Use APIs introduced in a major or minor release
}
يمكنك أيضًا استخدام الوسيطة
Build.getMinorSdkVersion()
للحصول على الإصدار الثانوي من حزمة SDK فقط.
val minorSdkVersion = Build.getMinorSdkVersion(VERSION_CODES_FULL.BAKLAVA)
لم يتم الانتهاء من واجهات برمجة التطبيقات هذه بعد، وهي عرضة للتغيير، لذا يُرجى إرسال ملاحظاتك إلينا إذا كانت لديك أي استفسارات.
تجربة المستخدم وواجهة المستخدم للنظام
يوفّر نظام التشغيل Android 16 لمطوّري التطبيقات ومستخدميها المزيد من التحكّم والمرونة في ضبط إعدادات أجهزتهم بما يتناسب مع احتياجاتهم.
الإشعارات التي تركّز على مستوى التقدّم
يقدّم الإصدار 16 من نظام التشغيل Android إشعارات تركّز على مستوى التقدّم لمساعدة المستخدمين في تتبُّع الرحلات التي يبدأها المستخدمون من البداية إلى النهاية بسلاسة.
Notification.ProgressStyle
هو أسلوب إشعار
جديد يتيح لك إنشاء إشعارات تركّز على مستوى التقدّم. تشمل حالات الاستخدام الرئيسية
خدمات النقل المشترك والتوصيل والملاحة. ضمن Notification.ProgressStyle
الفئة، يمكنك الإشارة إلى الحالات والمحطّات الرئيسية في رحلة المستخدِم باستخدام
النقاط والشريح.
To learn more, see the Progress-centric notifications documentation page.


تعديلات على إيماءة الرجوع إلى الخلف التنبؤية
Android 16 adds new APIs to help you enable predictive back system animations in
gesture navigation such as the back-to-home animation. Registering the
onBackInvokedCallback
with the new
PRIORITY_SYSTEM_NAVIGATION_OBSERVER
allows your app to
receive the regular onBackInvoked
call whenever the
system handles a back navigation without impacting the normal back navigation
flow.
Android 16 additionally adds the
finishAndRemoveTaskCallback()
and
moveTaskToBackCallback
. By registering these callbacks
with the OnBackInvokedDispatcher
, the system can trigger
specific behaviors and play corresponding ahead-of-time animations when the back
gesture is invoked.
ميزات لمسية أكثر دقة
منذ إطلاقه، وفّر نظام التشغيل Android إمكانية التحكّم في المحرّك اللمسي.
أضاف نظام التشغيل Android 11 ميزة التوافق مع التأثيرات اللمسية الأكثر تعقيدًا التي يمكن أن توفّرها ملفّات
التشغيل المتقدّمة من خلال
VibrationEffect.Compositions
من العناصر الأساسية
الدلالية التي يحدّدها الجهاز.
يضيف نظام التشغيل Android 16 واجهات برمجة تطبيقات للتأثيرات الحسية تتيح للتطبيقات تحديد منحنيات amplitude وfrequency لتأثير حسي مع تجاهل اختلافات قدرات الجهاز.
أدوات المطوّرين وإنتاجيتهم
على الرغم من أنّ معظم عملنا لتحسين إنتاجيتك يدور حول أدوات مثل استوديو Android وJetpack Compose ومكتبات Android Jetpack، نبحث دائمًا عن طرق في المنصة لمساعدتك في تحقيق رؤيتك.
معالجة المحتوى للخلفيات المتحركة
In Android 16, the live wallpaper framework is gaining a new content API to
address the challenges of dynamic, user-driven wallpapers. Currently, live
wallpapers incorporating user-provided content require complex, service-specific
implementations. Android 16 introduces
WallpaperDescription
and
WallpaperInstance
. WallpaperDescription lets you
identify distinct instances of a live wallpaper from the same service. For
example, a wallpaper that has instances on both the home screen and on the lock
screen may have unique content in both places. The wallpaper picker and
WallpaperManager
use this metadata to better present
wallpapers to users, streamlining the process for you to create diverse and
personalized live wallpaper experiences.
الأداء والبطارية
يقدّم الإصدار Android 16 واجهات برمجة تطبيقات تساعد في جمع إحصاءات عن تطبيقاتك.
تحديد الملف الشخصي الذي يبدأه النظام
تم إضافةProfilingManager
في Android 15، ما يتيح للتطبيقات طلب جمع بيانات الأداء باستخدام Perfetto على الأجهزة العامة في الميدان.
ومع ذلك، بما أنّه يجب بدء عملية وضع هذه الملفات الشخصية من التطبيق، سيكون من الصعب أو من المستحيل على التطبيقات تسجيل مسارات الأداء الحرجة، مثل عمليات بدء التشغيل أو أخطاء ANR.
للمساعدة في ذلك، يقدّم نظام التشغيل Android 16 ميزة "الملف الشخصي الذي يبدأه النظام" لتطبيق
ProfilingManager
. يمكن للتطبيقات تسجيل اهتمامها بتلقّي عمليات تتبُّع لعوامل بدء محدّدة
مثل بدء التشغيل البارد reportFullyDrawn
أو أخطاء ANR، ثم يبدأ النظام عملية تتبُّع ويوقفها نيابةً عن التطبيق. بعد اكتمال التتبُّع، يتم إرسال النتائج إلى دليل بيانات التطبيق.
بدء المكوّن في ApplicationStartInfo
ApplicationStartInfo
was added in Android
15, allowing an app to see reasons
for process start, start type, start times, throttling, and other useful
diagnostic data. Android 16 adds
getStartComponent()
to distinguish what component type triggered the start, which can be helpful for
optimizing the startup flow of your app.
تحليل أفضل للوظائف
The JobScheduler#getPendingJobReason()
API returns a reason why a job
might be pending. However, a job might be pending for multiple reasons.
In Android 16, we are introducing a new API
JobScheduler#getPendingJobReasons(int jobId)
, which returns multiple
reasons why a job is pending, due to both explicit constraints set by the
developer and implicit constraints set by the system.
We're also introducing
JobScheduler#getPendingJobReasonsHistory(int jobId)
, which returns a list
of the most recent constraint changes.
We recommend using the API to help you debug why your jobs may not be executing, especially if you're seeing reduced success rates of certain tasks or have bugs around latency of certain job completion. For example, updating widgets in the background failed to occur or prefetch job failed to be called prior to app start.
This can also better help you understand if certain jobs are not completing due to system defined constraints versus explicitly set constraints.
معدّل التحديث التكيفي
إنّ معدل إعادة التحميل التكيُّفي (ARR) الذي تم تقديمه في Android 15 يتيح لمعدل إعادة تحميل الشاشة على الأجهزة المتوافقة التكيُّف مع معدل عرض اللقطات للمحتوى باستخدام خطوات فاصل عرض اللقطات المنفصلة. ويؤدي ذلك إلى تقليل استهلاك الطاقة مع التخلص من الحاجة إلى التبديل بين الأوضاع الذي قد يؤدي إلى حدوث تقطُّع في الأداء.
يقدّم نظام التشغيل Android 16 hasArrSupport()
و
getSuggestedFrameRate(int)
مع استعادة
getSupportedRefreshRates()
لتسهيل استفادة تطبيقاتك من ميزة ARR. يتيح RecyclerView
1.4 استخدام ميزة ARR داخليًا عند الانتقال من التمرير السريع أو
الانتقال السلس، ونحن نواصل عملنا لإضافة ميزة ARR
إلى المزيد من مكتبات Jetpack. تتناول مقالة معدّل عرض اللقطات هذه
العديد من واجهات برمجة التطبيقات التي يمكنك استخدامها لضبط معدّل عرض اللقطات كي يتمكّن تطبيقك من استخدام ميزة "معدل عرض الإعلانات" مباشرةً.
واجهات برمجة التطبيقات في Headroom ضمن "إعلانات ديناميكية على شبكة البحث"
The SystemHealthManager
introduces the
getCpuHeadroom
and
getGpuHeadroom
APIs, designed to provide games and
resource-intensive apps with estimates of available CPU and GPU resources. These
methods offer a way for you to gauge how your app or game can best improve
system health, particularly when used in conjunction with other Android Dynamic
Performance Framework (ADPF) APIs that detect thermal
throttling.
By using CpuHeadroomParams
and
GpuHeadroomParams
on supported devices, you can
customize the time window used to compute the headroom and select between
average or minimum resource availability. This can help you reduce your CPU or
GPU resource usage accordingly, leading to better user experiences and improved
battery life.
تسهيل الاستخدام
يضيف نظام التشغيل Android 16 واجهات برمجة تطبيقات وميزات جديدة لتسهيل الاستخدام يمكن أن تساعدك في توفير تطبيقك لكل مستخدم.
واجهات برمجة التطبيقات المحسّنة لتسهيل الاستخدام
يضيف نظام التشغيل Android 16 واجهات برمجة تطبيقات إضافية لتحسين دلالات واجهة المستخدم التي تساعد في تحسين الاتساق للمستخدمين الذين يعتمدون على خدمات تسهيل الاستخدام، مثل TalkBack.
النص المفرّغ لزيادة تباين النص إلى أقصى حد
غالبًا ما يعاني المستخدمون الذين يعانون من ضعف في النظر من انخفاض في حساسية التباين، ما يجعل من الصعوبة بمكان تمييز الأجسام عن الخلفيات. لمساعدة هؤلاء المستخدمين، يقدّم الإصدار 16 من Android ميزة "النص المخطّط" الذي يحلّ محلّ ميزة "النص العالي التباين"، والذي يرسم منطقة أكبر ذات تباين أعلى حول النص لتحسين قراءته بشكل كبير.
يحتوي Android 16 على واجهات برمجة تطبيقات جديدة AccessibilityManager
للسماح لتطبيقاتك بالتحقّق أو تسجيل مستمع لتحديد ما إذا كان هذا الوضع مفعّلاً. يُستخدم هذا الأسلوب بشكل أساسي في حِزم أدوات واجهة المستخدم، مثل Compose، لتوفير تجربة مرئية مشابهة. إذا كنت تحافظ على مكتبة UI Toolkit أو كان
تطبيقك يُجري عرضًا مخصّصًا للنص يتجاوز فئة
android.text.Layout
، يمكنك استخدام هذا الإجراء لمعرفة
حالات تفعيل النص المخطّط.

تمت إضافة المدة إلى TtsSpan
يضيف الإصدار 16 من Android TtsSpan
TYPE_DURATION
،
المكوّن من ARG_HOURS
وARG_MINUTES
وARG_SECONDS
. يتيح لك ذلك إضافة تعليقات توضيحية مباشرةً إلى مدّة المحتوى، ما يضمن تحويلًا دقيقًا ومتسقًا للنص إلى كلام باستخدام خدمات مثل TalkBack.
إتاحة العناصر التي تحتوي على تصنيفات متعددة
يسمح Android حاليًا لعناصر واجهة المستخدم بالحصول على تصنيف تسهيل الاستخدام من عنصر آخر، كما يتيح الآن إمكانية ربط تصنيفات متعددة، وهو سيناريو شائع في محتوى الويب. من خلال تقديم واجهة برمجة تطبيقات مستندة إلى قائمة في
AccessibilityNodeInfo
، يمكن لنظام التشغيل Android إتاحة
هذه العلاقات المتعدّدة التصنيفات مباشرةً. وكجزء من هذا التغيير، أوقفنا نهائيًا استخدام
AccessibilityNodeInfo#setLabeledBy
و
#getLabeledBy
واستبدلناهما برمزَي
#addLabeledBy
و#removeLabeledBy
و
#getLabeledByList
.
تحسين التوافق مع العناصر القابلة للتوسيع
يضيف نظام التشغيل Android 16 واجهات برمجة تطبيقات تسهيل الاستخدام تتيح لك الإشارة إلى الحالة الموسّعة أو
المجمّعة للعناصر التفاعلية، مثل القوائم والقوائم القابلة للتوسيع. من خلال
ضبط الحالة الموسّعة باستخدام setExpandedState
و
إرسال TYPE_WINDOW_CONTENT_CHANGED AccessibilityEvents
باستخدام نوع تغيير المحتوى CONTENT_CHANGE_TYPE_EXPANDED
،
يمكنك التأكّد من أنّ برامج قراءة الشاشة، مثل TalkBack، تعلن عن
تغييرات الحالة، ما يقدّم تجربة مستخدم أكثر سهولة وشمولية.
أشرطة تقدّم غير محدّدة
يضيف نظام التشغيل Android 16 رمز RANGE_TYPE_INDETERMINATE
، ما يتيح لك
عرض RangeInfo
لكل من التطبيقات المصغّرةProgressBar
المحددة وغير المحددة، ما يسمح لخدمات مثل
TalkBack بتقديم ملاحظات بشكل أكثر اتساقًا لمؤشرات التقدّم.
مربّع اختيار ثلاثي الحالات
تتيح الطريقتان الجديدتان AccessibilityNodeInfo
getChecked
وsetChecked(int)
في Android 16 الآن حالة "تم وضع علامة جزئية" بالإضافة إلى
"تم وضع علامة" و "لم يتم وضع علامة". ويحلّ هذا النوع محلّ النوعَين المنطقيَين المتوقفَين نهائيًا
isChecked
وsetChecked(boolean)
.
الأوصاف التكميلية
عندما تصف الخدمة المخصّصة لتسهيل الاستخدام عنصر ViewGroup
، فإنّها
تضمّن تصنيفات المحتوى من عناصر العرض الثانوية. في حال تقديم contentDescription
لعنصر ViewGroup
، تفترض خدمات تسهيل الاستخدام أنّك تريد
أيضًا إلغاء وصف عناصر العرض الثانوية غير القابلة للتركيز. قد يتسبب ذلك في
مشاكل إذا أردت تصنيف عناصر مثل القائمة المنسدلة (على سبيل المثال، "عائلة
الخط") مع الحفاظ على الاختيار الحالي لتسهيل الاستخدام (على سبيل المثال،
"Roboto"). يضيف الإصدار 16 من Android setSupplementalDescription
حتى تتمكّن من تقديم نص يقدّم معلومات عن ViewGroup
بدون
إلغاء المعلومات الواردة من العناصر الفرعية.
حقول النموذج المطلوبة
يضيف نظام التشغيل Android 16 الرمز setFieldRequired
إلى
AccessibilityNodeInfo
حتى تتمكّن التطبيقات من إبلاغ خدمة تسهيل الاستخدام بأنّ إدخال البيانات في حقل النموذج مطلوب. هذا سيناريو مهم
للمستخدمين الذين يملؤون العديد من أنواع النماذج، حتى الأشياء البسيطة مثل مربّع الاختيار المطلوب
لأحكام وشروط الاستخدام، ما يساعد المستخدمين في التعرّف على الحقول المطلوبة باستمرار
والتنقّل بينها بسرعة.
استخدام الهاتف كمدخل ميكروفون للمكالمات الصوتية باستخدام سماعات الأذن الطبية LEA
يضيف نظام التشغيل Android 16 إمكانية السماح لمستخدمي سمّاعات الأذن الطبية المزوّدة بتقنية LE Audio بالتبديل بين الميكروفونات المدمجة في سمّاعات الأذن الطبية والميكروفون في الهاتف لإجراء المكالمات الصوتية. يمكن أن يكون ذلك مفيدًا في البيئات الصاخبة أو في حالات أخرى قد لا تعمل فيها ميكروفونات سماعة الأذن الطبية بشكل جيد.
عناصر التحكّم في مستوى الصوت المحيط لسماعات الأذن الطبية المزوّدة بتقنية LEA
Android 16 adds the capability for users of LE Audio hearing aids to adjust the volume of ambient sound that is picked up by the hearing aid's microphones. This can be helpful in situations where background noise is too loud or too quiet.
الكاميرا
يعزّز نظام Android 16 ميزات دعم مستخدمي الكاميرات الاحترافية، ما يتيح استخدام ميزة "التثبيت التلقائي الهجين" مع تعديلات دقيقة لدرجة حرارة الألوان ودرجة اللون. يساعد مؤشر
وضع الليل الجديد تطبيقك في معرفة وقت التبديل إلى جلسة كاميرا
وضع الليل والخروج منها. تسهّل إجراءات Intent
الجديدة التقاط صور متحركة،
ونواصل تحسين صور UltraHDR من خلال إتاحة ترميز HEIC
ومَعلمات جديدة من مسودة معيار ISO 21496-1.
التعريض التلقائي المختلط
يضيف نظام التشغيل Android 16 أوضاعًا جديدة مختلطة للتعريض التلقائي إلى Camera2، ما يتيح لك التحكّم يدويًا في جوانب معيّنة من التعريض مع السماح لخوارزمية التعريض التلقائي (AE) بالتعامل مع الباقي. يمكنك التحكّم في درجة ISO + التعريض التلقائي ووقت التعريض + التعريض التلقائي، ما يوفّر مزيدًا من المرونة مقارنةً بالنهج الحالي الذي يتيح لك التحكّم يدوياً بالكامل أو الاعتماد بالكامل على التعريض التلقائي.
public void setISOPriority() {
...
int[] availablePriorityModes =
mStaticInfo.getCharacteristics().get(CameraCharacteristics.
COLOR_AE_AVAILABLE_PRIORITY_MODES);
...
// Turn on AE mode to set priority mode
reqBuilder.set(CaptureRequest.CONTROL_AE_MODE,
CameraMetadata.CONTROL_AE_MODE_ON);
reqBuilder.set(CaptureRequest.CONTROL_AE_PRIORITY_MODE,
CameraMetadata.CONTROL_AE_PRIORITY_MODE_SENSOR_SENSITIVITY);
reqBuilder.set(CaptureRequest.SENSOR_SENSITIVITY,
TEST_SENSITIVITY_VALUE);
CaptureRequest request = reqBuilder.build();
...
}
تعديلات دقيقة لدرجة حرارة الألوان ودرجة اللون
Android 16 adds camera support for fine color temperature and tint adjustments
to better support professional video recording applications. In previous Android
versions, you could control white balance settings through
CONTROL_AWB_MODE
, which contains options limited to a
preset list, such as Incandescent,
Cloudy, and Twilight. The
COLOR_CORRECTION_MODE_CCT
enables the use of
COLOR_CORRECTION_COLOR_TEMPERATURE
and
COLOR_CORRECTION_COLOR_TINT
for precise adjustments of
white balance based on the correlated color temperature.
fun setCCT() {
// ... (Your existing code before this point) ...
val colorTemperatureRange: Range<Int> =
mStaticInfo.characteristics[CameraCharacteristics.COLOR_CORRECTION_COLOR_TEMPERATURE_RANGE]
// Set to manual mode to enable CCT mode
reqBuilder[CaptureRequest.CONTROL_AWB_MODE] = CameraMetadata.CONTROL_AWB_MODE_OFF
reqBuilder[CaptureRequest.COLOR_CORRECTION_MODE] = CameraMetadata.COLOR_CORRECTION_MODE_CCT
reqBuilder[CaptureRequest.COLOR_CORRECTION_COLOR_TEMPERATURE] = 5000
reqBuilder[CaptureRequest.COLOR_CORRECTION_COLOR_TINT] = 30
val request: CaptureRequest = reqBuilder.build()
// ... (Your existing code after this point) ...
}
The following examples show how a photo would look after applying different color temperature and tint adjustments:





ميزة "اكتشاف المشهد" في "الوضع الليلي" للكاميرا
To help your app know when to switch to and from a night mode camera session,
Android 16 adds EXTENSION_NIGHT_MODE_INDICATOR
. If
supported, it's available in the CaptureResult
within
Camera2.
This is the API we briefly mentioned as coming soon in the How Instagram enabled users to take stunning low light photos blog post. That post is a practical guide on how to implement night mode together with a case study that links higher-quality in-app night mode photos with an increase in the number of photos shared from the in-app camera.
إجراءات النية لالتقاط الصور الحيّة
Android 16 adds standard Intent actions —
ACTION_MOTION_PHOTO_CAPTURE
, and
ACTION_MOTION_PHOTO_CAPTURE_SECURE
— which request that
the camera application capture a motion photo and return
it.
You must either pass an extra EXTRA_OUTPUT
to control
where the image will be written, or a Uri
through
Intent.setClipData(ClipData)
. If you don't set a
ClipData
, it will be copied there for you when calling
Context.startActivity(Intent)
.
تحسينات الصور بدقة HDR فائقة

Android 16 continues our work to deliver dazzling image quality with UltraHDR
images. It adds support for UltraHDR images in the HEIC file
format. These images will get ImageFormat
type
HEIC_ULTRAHDR
and will contain an embedded gainmap similar
to the existing UltraHDR JPEG format. We're working on AVIF support for UltraHDR
as well, so stay tuned.
In addition, Android 16 implements additional parameters in UltraHDR from the ISO 21496-1 draft standard, including the ability to get and set the colorspace that gainmap math should be applied in, as well as support for HDR encoded base images with SDR gainmaps.
الرسومات
يتضمّن Android 16 أحدث تحسينات الرسومات، مثل تأثيرات الرسومات المخصّصة باستخدام AGSL.
تأثيرات رسومية مخصّصة باستخدام AGSL
Android 16 adds RuntimeColorFilter
and
RuntimeXfermode
, allowing you to author complex effects like
Threshold, Sepia, and Hue Saturation and apply them to draw calls. Since Android
13, you've been able to use AGSL to create custom
RuntimeShaders that extend Shader
. The new API
mirrors this, adding an AGSL-powered RuntimeColorFilter
that
extends ColorFilter
, and a Xfermode
effect that
lets you implement AGSL-based custom compositing and blending between source and
destination pixels.
private val thresholdEffectString = """
uniform half threshold;
half4 main(half4 c) {
half luminosity = dot(c.rgb, half3(0.2126, 0.7152, 0.0722));
half bw = step(threshold, luminosity);
return bw.xxx1 * c.a;
}"""
fun setCustomColorFilter(paint: Paint) {
val filter = RuntimeColorFilter(thresholdEffectString)
filter.setFloatUniform(0.5);
paint.colorFilter = filter
}
إمكانية الاتصال
يُجري نظام التشغيل Android 16 تعديلات على المنصة ليتمكّن تطبيقك من الاستفادة من أحدث التطورات في تكنولوجيات الاتصالات والتقنيات اللاسلكية.
تحديد النطاق باستخدام ميزة "الأمان المحسّن"
يضيف Android 16 ميزات أمان فعّالة في تحديد الموقع الجغرافي من خلال Wi-Fi على الأجهزة المتوافقة مع 802.11az لبروتوكول Wi-Fi 6، ما يتيح للتطبيقات الجمع بين الدقة العالية وقابلية التوسّع الأكبر والجدول الزمني الديناميكي للبروتوكول مع تحسينات الأمان، بما في ذلك التشفير المستنِد إلى AES-256 والحماية من هجمات MITM. يتيح ذلك استخدامه بأمان أكبر في حالات استخدام ميزة "الاقتران عن قرب"، مثل فتح قفل كمبيوتر محمول أو باب سيارة. تم دمج 802.11az مع معيار Wi-Fi 6، ما يستفيد من بنيته الأساسية و إمكاناته لاعتماده على نطاق أوسع ونشره بسهولة أكبر.
واجهات برمجة التطبيقات العامة لتحديد النطاق
Android 16 includes the new RangingManager
, which provides
ways to determine the distance and angle on supported hardware between the local
device and a remote device. RangingManager
supports the usage of a variety of
ranging technologies such as BLE channel sounding, BLE RSSI-based ranging, Ultra
Wideband, and Wi-Fi round trip time.
الوسائط
يتضمّن Android 16 مجموعة متنوعة من الميزات التي تحسِّن تجربة الوسائط.
تحسينات على "أداة اختيار الصور"
The photo picker provides a safe, built-in way for users to grant your app access to selected images and videos from both local and cloud storage, instead of their entire media library. Using a combination of Modular System Components through Google System Updates and Google Play services, it's supported back to Android 4.4 (API level 19). Integration requires just a few lines of code with the associated Android Jetpack library.
Android 16 includes the following improvements to the photo picker:
- Embedded photo picker: New APIs that enable apps to embed the photo picker into their view hierarchy. This allows it to feel like a more integrated part of the app while still leveraging the process isolation that allows users to select media without the app needing overly broad permissions. To maximize compatibility across platform versions and simplify your integration, you'll want to use the forthcoming Android Jetpack library if you want to integrate the embedded photo picker.
- Cloud search in photo picker: New APIs that enable searching from the cloud media provider for the Android photo picker. Search functionality in the photo picker is coming soon.
فيديو احترافي متقدّم
يتيح نظام التشغيل Android 16 استخدام ترميز Advanced Professional Video (APV) المصمّم لاستخدامه في تسجيل الفيديوهات بجودة عالية على المستوى الاحترافي وعمليات ما بعد الإنتاج.
يتضمن معيار ترميز APV الميزات التالية:
- جودة فيديو بدون فقدان ملحوظ للبيانات (قريبة من جودة الفيديو الأصلي)
- ترميز داخل اللقطة فقط بدرجة منخفضة من التعقيد ومع معدل نقل بيانات مرتفع (بدون توقّع ملف هبوط حبيبات البكسل) لدعم سير عمل التعديل بشكل أفضل
- إتاحة نطاق معدل نقل بيانات مرتفع يصل إلى بضعة غيغابايت في الثانية للمحتوى بدقة 2K و4K و8K ، وذلك من خلال مخطّط ترميز معلومات منخفض الوزن
- تقسيم الإطارات للمحتوى الغامر وتفعيل الترميز والترميز الثنائي
- إتاحة تنسيقات مختلفة لتحليل الألوان ودرجات البت
- إتاحة عمليات فك ترميز وإعادة ترميز متعددة بدون تعريض الجودة المرئية للتدهّور الشديد
- إتاحة الفيديوهات المتعدّدة وأنواع الفيديوهات المساعِدة، مثل الفيديوهات التي تُظهر العمق والصور المموّهة والمعاينة
- التوافق مع تقنية HDR10/10+ والبيانات الوصفية التي يحدّدها المستخدم
يتم توفير تنفيذ مرجعي لـ APV من خلال مشروع OpenAPV. سيتيح نظام Android 16 استخدام الملف الشخصي APV 422-10 الذي يقدّم تحليل ألوان YUV 422 بالإضافة إلى ترميز 10 بت ومعدّلات نقل البيانات المستهدَفة التي تصل إلى 2 غيغابايت في الثانية.
الخصوصية
يتضمّن الإصدار 16 من Android مجموعة متنوعة من الميزات التي تساعد مطوّري التطبيقات في حماية خصوصية المستخدمين.
آخر الأخبار حول Health Connect
يضيف Health Connect في الإصدار التجريبي للمطوّرين نوع بيانات جديدًا هو ACTIVITY_INTENSITY
، والذي تم تحديده وفقًا لإرشادات منظمة الصحة العالمية حول النشاط المعتدل والقوي. يتطلب كل سجلّ وقت البدء والانتهاء
وما إذا كانت كثافة النشاط معتدلة أو قوية.
يحتوي Health Connect أيضًا على واجهات برمجة تطبيقات معدَّلة تتيح الوصول إلى السجلّات الصحية. يتيح ذلك للتطبيقات قراءة السجلات الطبية وكتابتها بتنسيق FHIR بعد الحصول على موافقة صريحة من المستخدم. واجهة برمجة التطبيقات هذه متوفرة في برنامج استخدام المنتج قبل إطلاقه. إذا أردت المشاركة، يمكنك الاشتراك في "برنامج استخدام التطبيق قبل إطلاقه".
"مبادرة حماية الخصوصية" على Android
يتضمّن الإصدار 16 من Android أحدث إصدار من مبادرة حماية الخصوصية على Android، وهي جزء من عملنا المستمر لتطوير تقنيات تضمن للمستخدمين اتّخاذ خطوات لحماية خصوصيتهم. يمكنك زيارة موقعنا الإلكتروني للاطّلاع على مزيد من المعلومات عن "مبادرة حماية الخصوصية" في الإصدار التجريبي من برنامج "مطوّرو تطبيقات Android" لمساعدتك في البدء. اطّلِع على وقت تشغيل حزمة SDK الذي يتيح تشغيل حِزم SDK في بيئة وقت تشغيل مخصّصة منفصلة عن التطبيق الذي تقدّمه، ما يوفر وسائل حماية أقوى بشأن جمع بيانات المستخدمين ومشاركتها.
الأمان
يتضمّن Android 16 ميزات تساعدك في تحسين أمان تطبيقك وحماية بياناته.
Key sharing API
يضيف نظام التشغيل Android 16 واجهات برمجة تطبيقات تتيح مشاركة إمكانية الوصول إلى مفاتيح
متجر مفاتيح Android مع التطبيقات الأخرى. تتيح فئة
KeyStoreManager
الجديدة
منح وإبطال إذن الوصول إلى المفاتيح
حسب uid للتطبيق، وتتضمّن واجهة برمجة تطبيقات للتطبيقات للوصول إلى مفاتيح
المشترَكة.
أشكال الأجهزة
يقدّم نظام التشغيل Android 16 تطبيقاتك الدعم اللازم للاستفادة إلى أقصى حد من أشكال Android.
إطار عمل موحد لجودة الصورة والصوت في أجهزة التلفزيون
The new MediaQuality
package in Android 16 exposes
a set of standardized APIs for access to audio and picture profiles and
hardware-related settings. This allows streaming apps to query profiles and
apply them to media dynamically:
- Movies mastered with a wider dynamic range require greater color accuracy to see subtle details in shadows and adjust to ambient light, so a profile that prefers color accuracy over brightness may be appropriate.
- Live sporting events are often mastered with a narrow dynamic range, but are often watched in daylight, so a profile that preferences brightness over color accuracy can give better results.
- Fully interactive content wants minimal processing to reduce latency, and wants higher frame rates, which is why many TV's ship with a game profile.
The API allows apps to switch between profiles and users to enjoy tuning supported TVs to best suit their content.
التوافق مع أسواق عالمية
يضيف Android 16 ميزات وإمكانات تكمل تجربة المستخدم عند استخدام جهاز بلغات مختلفة.
نص رأسي
Android 16 adds low-level support for rendering and measuring text vertically to
provide foundational vertical writing support for library developers. This is
particularly useful for languages like Japanese that commonly use vertical
writing systems. A new flag,
VERTICAL_TEXT_FLAG
,
has been added to the Paint
class. When
this flag is set using
Paint.setFlags
, Paint's
text measurement APIs will report vertical advances instead of horizontal
advances, and Canvas
will draw text
vertically.
val text = "「春は、曙。」"
Box(
Modifier.padding(innerPadding).background(Color.White).fillMaxSize().drawWithContent {
drawIntoCanvas { canvas ->
val paint = Paint().apply { textSize = 64.sp.toPx() }
// Draw text vertically
paint.flags = paint.flags or VERTICAL_TEXT_FLAG
val height = paint.measureText(text)
canvas.nativeCanvas.drawText(
text,
0,
text.length,
size.width / 2,
(size.height - height) / 2,
paint
)
}
}
) {}
تخصيص نظام القياس
Users can now customize their measurement system in regional preferences within
Settings. The user preference is included as part of the locale code, so you can
register a BroadcastReceiver
on
ACTION_LOCALE_CHANGED
to handle locale configuration changes when
regional preferences change.
Using formatters can help match the local experience. For example, "0.5 in" in English (United States), is "12,7 mm" for a user who has set their phone to English (Denmark) or who uses their phone in English (United States) with the metric system as the measurement system preference.
To find these settings, open the Settings app and navigate to System > Languages & region.