يقدّم نظام التشغيل Android 16 ميزات وواجهات برمجة تطبيقات جديدة رائعة للمطوّرين. تلخّص المقاطع التالية هذه الميزات لمساعدتك على البدء باستخدام واجهات برمجة التطبيقات ذات الصلة.
للحصول على قائمة مفصّلة لواجهات برمجة التطبيقات الجديدة والمعدَّلة والمُزالة، يُرجى الاطّلاع على تقرير اختلافات واجهة برمجة التطبيقات. للحصول على تفاصيل عن واجهات برمجة التطبيقات الجديدة، يُرجى الانتقال إلى مرجع واجهة برمجة تطبيقات Android. ويتم تمييز واجهات برمجة التطبيقات الجديدة لسهولة الاطّلاع عليها.يجب أيضًا مراجعة الجوانب التي قد تؤثر فيها تغييرات النظام الأساسي على تطبيقاتك. لمزيد من المعلومات، يُرجى الاطّلاع على الصفحات التالية:
- التغييرات في السلوك التي تؤثّر في التطبيقات عند استهدافها الإصدار 16 من Android
- التغييرات في السلوك التي تؤثر في جميع التطبيقات بغض النظر عن
targetSdkVersion
:
الوظيفة الأساسية
يتضمّن Android واجهات برمجة تطبيقات جديدة توفّر إمكانات إضافية لنظام Android.
إصداران من واجهة برمجة تطبيقات Android في عام 2025
- This preview is for the next major release of Android with a planned launch in Q2 of 2025. This release is similar to all of our API releases in the past, where we can have planned behavior changes that are often tied to a targetSdkVersion.
- We're planning the major release a quarter earlier (Q2 rather than Q3 in prior years) to better align with the schedule of device launches across our ecosystem, so more devices can get the major release of Android sooner. With the major release coming in Q2, you'll need to do your annual compatibility testing a few months earlier than in previous years to make sure your apps are ready.
- We plan to have another release in Q4 of 2025 which also will include new developer APIs. The Q2 major release will be the only release in 2025 to include planned behavior changes that could affect apps.
In addition to new developer APIs, the Q4 minor release will pick up feature updates, optimizations, and bug fixes; it will not include any app-impacting behavior changes.

We'll continue to have quarterly Android releases. The Q1 and Q3 updates in-between the API releases will provide incremental updates to help ensure continuous quality. We're actively working with our device partners to bring the Q2 release to as many devices as possible.
Using new APIs with major and minor releases
Guarding a code block with a check for API level is done today using
the SDK_INT
constant with
VERSION_CODES
. This will continue
to be supported for major Android releases.
if (SDK_INT >= VERSION_CODES.BAKLAVA) {
// Use APIs introduced in Android 16
}
The new SDK_INT_FULL
constant can be used for API checks against both major and minor versions with
the new VERSION_CODES_FULL
enumeration.
if (SDK_INT_FULL >= VERSION_CODES_FULL.[MAJOR or MINOR RELEASE]) {
// Use APIs introduced in a major or minor release
}
You can also use the
Build.getMinorSdkVersion()
method to get just the minor SDK version.
val minorSdkVersion = Build.getMinorSdkVersion(VERSION_CODES_FULL.BAKLAVA)
These APIs have not yet been finalized and are subject to change, so please send us feedback if you have any concerns.
تجربة المستخدم وواجهة المستخدم للنظام
يوفّر Android 16 لمطوّري التطبيقات والمستخدمين مزيدًا من التحكّم والمرونة في ضبط إعدادات أجهزتهم بما يتناسب مع احتياجاتهم.
الإشعارات التي تركّز على مستوى التقدّم
يقدّم الإصدار 16 من نظام التشغيل Android إشعارات تركّز على مستوى التقدّم لمساعدة المستخدمين في تتبُّع الرحلات التي يبدأها المستخدمون من البداية إلى النهاية بسلاسة.
Notification.ProgressStyle
هو أسلوب إشعار
جديد يتيح لك إنشاء إشعارات تركّز على مستوى التقدّم. تشمل حالات الاستخدام الرئيسية
خدمات النقل المشترك والتوصيل والملاحة. ضمن Notification.ProgressStyle
الفئة، يمكنك الإشارة إلى الحالات والمحطّات الرئيسية في رحلة المستخدِم باستخدام
النقاط والشريح.
لمزيد من المعلومات، يُرجى الاطّلاع على صفحة مستندات الإشعارات التي تركّز على مستوى التقدّم.


تعديلات على ميزة "إيماءة إظهار شاشة الرجوع" التنبؤية
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، نبحث دائمًا عن طرق في المنصة لمساعدتك في تحقيق رؤيتك.
معالجة المحتوى للخلفيات المتحركة
في الإصدار 16 من Android، سيحصل إطار عمل الخلفيات المتحركة على واجهة برمجة تطبيقات جديدة للمحتوى بهدف
معالجة تحديات الخلفيات الديناميكية التي ينشئها المستخدمون. في الوقت الحالي، تتطلّب
خلفيات الشاشة النشطة التي تتضمّن محتوى يقدّمه المستخدم تنفيذًا معقدًا
خاصًا بالخدمة. يقدّم نظام التشغيل Android 16 رمزَي emoji
WallpaperDescription
و
WallpaperInstance
. يتيح لك WallpaperDescription معرفة
حالات مختلفة من خلفية متحركة من الخدمة نفسها. على سبيل المثال، قد تتضمّن الخلفية التي تظهر على كل من الشاشة الرئيسية وشاشة القفل محتوًى فريدًا في كلا المكانَين. يستخدم أداة اختيار الخلفية وWallpaperManager
هذه البيانات الوصفية لعرض
الخلفيات بشكل أفضل للمستخدمين، ما يسهّل عليك إنشاء تجارب متنوعة
ومخصَّصة للخلفيات الحية.
الأداء والبطارية
يقدّم الإصدار 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.
تحليل أفضل للوظائف
JobScheduler#getPendingJobReason()
API 会返回作业可能处于待处理状态的原因。不过,作业处于待处理状态的原因可能有多种。
在 Android 16 中,我们引入了一个新 API JobScheduler#getPendingJobReasons(int jobId)
,该 API 会返回作业处于待处理状态的多种原因,包括开发者设置的显式约束条件和系统设置的隐式约束条件。
我们还引入了 JobScheduler#getPendingJobReasonsHistory(int jobId)
,用于返回最新约束条件更改的列表。
我们建议您使用该 API 来调试作业可能无法执行的原因,尤其是在您发现某些任务的成功率降低或某些作业完成延迟存在 bug 时。例如,未能在后台更新微件,或在应用启动之前未能调用预加载作业。
这还有助于您更好地了解某些作业是否因系统定义的约束条件而无法完成,而不是因明确设置的约束条件而无法完成。
معدّل التحديث التكيّفي
إنّ معدل إعادة التحميل التكيُّفي (ARR) الذي تم تقديمه في Android 15 يتيح لمعدل إعادة تحميل الشاشة على الأجهزة المتوافقة التكيُّف مع معدل عرض اللقطات للمحتوى باستخدام خطوات فاصل عرض اللقطات المنفصلة. ويؤدي ذلك إلى تقليل استهلاك الطاقة مع التخلص من الحاجة إلى التبديل بين الأوضاع الذي قد يؤدي إلى حدوث تقطُّع في الأداء.
يقدّم نظام التشغيل Android 16 hasArrSupport()
و
getSuggestedFrameRate(int)
مع استعادة
getSupportedRefreshRates()
لتسهيل استفادة تطبيقاتك من ميزة ARR. يتيح RecyclerView
1.4 استخدام ميزة ARR داخليًا عند الانتقال من التمرير السريع أو
الانتقال السلس، ونحن نواصل عملنا لإضافة ميزة ARR
إلى المزيد من مكتبات Jetpack. تتناول مقالة معدّل عرض اللقطات هذه
العديد من واجهات برمجة التطبيقات التي يمكنك استخدامها لضبط معدّل عرض اللقطات كي يتمكّن تطبيقك من استخدام ميزة "معدل عرض الإعلانات" مباشرةً.
واجهات برمجة تطبيقات Headroom في ADPF
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 بالتبديل بين الميكروفونات المدمجة في سمّاعات الأذن الطبية والميكروفون في الهاتف لإجراء المكالمات الصوتية. يمكن أن يكون ذلك مفيدًا في البيئات الصاخبة أو في حالات أخرى قد لا تعمل فيها ميكروفونات سماعة الأذن الطبية بشكل جيد.
عناصر التحكّم في مستوى صوت الضوضاء المحيطة لسماعات الأذن الطبية المتوافقة مع LE Audio
يتيح نظام التشغيل Android 16 لمستخدمي سمّاعات الأذن الطبية التي تتضمّن تقنية LE Audio إمكانية ضبط مستوى الصوت المحيط الذي تلتقطه ميكروفونات سمّاعة الأذن الطبية. يمكن أن يكون هذا الإجراء مفيداً في الحالات التي تكون فيها الضوضاء في الخلفية صاخبة جدًا أو منخفضة جدًا.
الكاميرا
يعزّز نظام 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 添加了标准 intent 操作 ACTION_MOTION_PHOTO_CAPTURE
和 ACTION_MOTION_PHOTO_CAPTURE_SECURE
,用于请求相机应用拍摄动态照片并将其返回。
您必须传递额外的 EXTRA_OUTPUT
来控制将图片写入的位置,或者通过 Intent.setClipData(ClipData)
传递 Uri
。如果您未设置 ClipData
,系统会在调用 Context.startActivity(Intent)
时将其复制到该位置。
تحسينات الصور بدقة HDR فائقة

Android 16 继续致力于通过 UltraHDR 图片提供出色的图片质量。它添加了对 HEIC 文件格式的 UltraHDR 图片的支持。这些图片将获得 ImageFormat
类型 HEIC_ULTRAHDR
,并包含类似于现有 UltraHDR JPEG 格式的嵌入式增益图。我们还在努力为 UltraHDR 添加 AVIF 支持,敬请期待。
此外,Android 16 在 UltraHDR 中实现了 ISO 21496-1 草稿标准中的其他参数,包括能够获取和设置应应用增益图算法的色彩空间,以及支持使用 SDR 增益图的 HDR 编码基础图片。
الرسومات
يتضمّن الإصدار 16 من Android أحدث تحسينات الرسومات، مثل تأثيرات الرسومات المخصّصة باستخدام 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 包含新的 RangingManager
,它提供了在受支持的硬件上确定本地设备与远程设备之间的距离和角度的方法。RangingManager
支持使用各种测距技术,例如 BLE 信道声音探测、基于 BLE RSSI 的测距、超宽带和 Wi-Fi 往返时间。
توفّر جهاز "أداة إدارة الأجهزة المصاحبة"
في Android 16، يتمّ طرح واجهات برمجة تطبيقات جديدة لربط
خدمة التطبيق المصاحب. سيتم ربط الخدمة عندما تكون تقنية BLE ضمن النطاق ويكون البلوتوث متصلاً،
وسيتم إلغاء ربط الخدمة عندما تكون تقنية BLE خارج النطاق أو عندما يتم
إيقاف البلوتوث. سيتلقّى التطبيق مكالمة مرتجعة جديدة لرمز دالة onDevicePresenceEvent() استنادًا إلى قيم مختلفة لحالة DevicePresenceEvent
.
يمكنك الاطّلاع على مزيد من التفاصيل في
'startObservingDevicePresence(ObservingDevicePresenceRequest)'.
الوسائط
يتضمّن Android 16 مجموعة متنوعة من الميزات التي تحسِّن تجربة الوسائط.
تحسينات على "أداة اختيار الصور"
توفّر أداة اختيار الصور طريقة آمنة ومضمّنة للمستخدمين لمنح تطبيقك إذن الوصول إلى صور وفيديوهات محدّدة من التخزين على الجهاز والسحابة الإلكترونية بدلاً من الوصول إلى مكتبة الوسائط بأكملها. باستخدام مجموعة من مكوّنات النظام النموذجية من خلال تحديثات النظام من Google وخدمات Google Play، يمكن استخدام هذه الميزة في الإصدار Android 4.4 (المستوى 19 من واجهة برمجة التطبيقات) والإصدارات الأقدم. لا يتطلّب الدمج سوى بضعة أسطر من الرموز البرمجية مع مكتبة Android Jetpack المرتبطة.
يتضمّن نظام التشغيل Android 16 التحسينات التالية على أداة اختيار الصور:
- أداة اختيار الصور المضمّنة: واجهات برمجة تطبيقات جديدة تتيح للتطبيقات تضمين أداة اختيار الصور في التسلسل الهرمي للعرض ويسمح ذلك للمستخدمين بالشعور بأنّه جزء أكثر تكاملاً من التطبيق مع الاستفادة من عملية العزل التي تسمح للمستخدمين باختيار الوسائط بدون أن يحتاج التطبيق إلى أذونات واسعة النطاق. لزيادة التوافق إلى أقصى حدّ على مستوى إصدارات النظام الأساسي و تبسيط عملية الدمج، عليك استخدام مكتبة Android Jetpack القادمة إذا كنت تريد دمج أداة اختيار الصور المضمّنة.
- البحث في السحابة الإلكترونية في أداة اختيار الصور: واجهات برمجة تطبيقات جديدة تتيح البحث من موفِّر وسائط السحابة الإلكترونية لأداة اختيار الصور على Android ستتوفّر قريبًا وظيفة البحث في أداة اختيار الصور.
فيديو احترافي متقدّم
يتيح نظام التشغيل 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.
إطار عمل موحد لجودة الصورة والصوت في أجهزة التلفزيون
توفّر MediaQuality
الحزمة الجديدة في Android 16 مجموعة من واجهات برمجة التطبيقات الموحدة للوصول إلى الملفات الصوتية والملفات الصوتية والصور والإعدادات المتعلّقة بالأجهزة. يتيح ذلك لتطبيقات البث الاستعلام عن الملفات الشخصية
وتطبيقها على الوسائط ديناميكيًا:
- تتطلّب الأفلام التي تمّت إتقانها بنطاق ديناميكي أوسع دقة ألوان أكبر لتمييز التفاصيل الدقيقة في الظلال والتكيّف مع الإضاءة المحيطة، لذا قد يكون من المناسب استخدام ملف شخصي يفضّل دقة الألوان على السطوع.
- غالبًا ما يتم ضبط الفعاليات الرياضية المباشرة باستخدام نطاق ديناميكي ضيّق، ولكن يتم مشاهدتها غالبًا في ضوء النهار، لذا يمكن أن يقدّم الملف الشخصي الذي يفضّل السطوع على دقة الألوان نتائج أفضل.
- يتطلب المحتوى التفاعلي بالكامل الحد الأدنى من المعالجة لتقليل وقت الاستجابة، ويتطلب معدلات عرض صور أعلى، ولهذا السبب يتم شحن العديد من أجهزة التلفزيون مع ملف ألعاب.
تسمح واجهة برمجة التطبيقات للتطبيقات بالتبديل بين الملفات الشخصية والمستخدمين للاستفادة من ضبط أجهزة التلفزيون المتوافقة بما يناسب المحتوى على أفضل نحو.
التوافق مع أسواق عالمية
يضيف Android 16 ميزات وإمكانات تكمل تجربة المستخدم عند استخدام الجهاز بلغات مختلفة.
نص رأسي
يضيف نظام Android 16 دعمًا من المستوى الأدنى لعرض النص وقياسه عموديًا بهدف
توفير دعم أساسي للكتابة العمودية لمطوّري المكتبات. ويفيد ذلك
بشكل خاص في اللغات التي تستخدم عادةً أنظمة كتابة عمودية، مثل اليابانية. تمت إضافة علامة جديدة،
VERTICAL_TEXT_FLAG
،
إلى فئة Paint
. عند ضبط
هذا الإعداد باستخدام
Paint.setFlags
، ستحدّد واجهات برمجة التطبيقات
لقياس النصوص في Paint التقدّم في الرسم بالاتجاه العمودي بدلاً من التقدّم في الرسم بالاتجاه الأفقي، وسيرسم Canvas
النص
بالاتجاه العمودي.
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.