يقدّم نظام التشغيل 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
الفئة، يمكنك الإشارة إلى الحالات والمحطّات الرئيسية في رحلة المستخدِم باستخدام
النقاط والشريح.
如需了解详情,请参阅以进度为中心的通知文档页面。
تعديلات على إيماءة الرجوع إلى الخلف التنبؤية
Android 16 添加了新 API,可帮助您在手势导航中启用预测性返回系统动画,例如“返回主屏幕”动画。通过使用新的 PRIORITY_SYSTEM_NAVIGATION_OBSERVER 注册 onBackInvokedCallback,您的应用可以在系统处理返回导航时接收常规的 onBackInvoked 调用,而不会影响正常的返回导航流程。
Android 16 还添加了 finishAndRemoveTaskCallback() 和 moveTaskToBackCallback。通过向 OnBackInvokedDispatcher 注册这些回调,系统可以在调用返回手势时触发特定行为并播放相应的提前动画。
تجاوب حسّي أكثر ثراءً
自诞生之日起,Android 就提供了对触感反馈致动器的控制。
Android 11 添加了对更复杂的触感反馈效果的支持,更高级的致动器可以通过设备定义的语义基元 VibrationEffect.Compositions 支持这些效果。
Android 16 添加了触感反馈 API,让应用能够定义触感反馈效果的振幅和频率曲线,同时抽象出设备功能之间的差异。
إنتاجية المطوّرين وأدواتهم
مع أنّ معظم جهودنا لتحسين إنتاجيتك تركّز على أدوات مثل استوديو Android وJetpack Compose ومكتبات Android Jetpack، إلا أنّنا نبحث دائمًا عن طرق في النظام الأساسي لمساعدتك في تحقيق أهدافك.
التعامل مع المحتوى في الخلفيات المتحركة
في الإصدار 16 من Android، سيحصل إطار عمل الخلفيات المتحركة على واجهة برمجة تطبيقات جديدة للمحتوى بهدف
معالجة تحديات الخلفيات الديناميكية التي ينشئها المستخدمون. في الوقت الحالي، تتطلّب
خلفيات الشاشة النشطة التي تتضمّن محتوى يقدّمه المستخدم تنفيذًا معقدًا
خاصًا بالخدمة. يقدّم نظام التشغيل Android 16 رمزَي emoji
WallpaperDescription و
WallpaperInstance. يتيح لك WallpaperDescription معرفة
حالات مختلفة من خلفية متحركة من الخدمة نفسها. على سبيل المثال، قد تتضمّن الخلفية التي تظهر على كل من الشاشة الرئيسية وشاشة القفل محتوًى فريدًا في كلا المكانَين. يستخدم أداة اختيار الخلفية وWallpaperManager هذه البيانات الوصفية لعرض
الخلفيات بشكل أفضل للمستخدمين، ما يسهّل عليك إنشاء تجارب متنوعة
ومخصَّصة للخلفيات الحية.
الأداء والبطارية
يقدّم الإصدار 16 من نظام التشغيل Android واجهات برمجة تطبيقات تساعد في جمع إحصاءات حول تطبيقاتك.
تحديد المواصفات الشخصية لصاحب البيانات من خلال النظام
تم إضافةProfilingManager في Android 15، ما يتيح للتطبيقات طلب جمع بيانات الأداء باستخدام Perfetto على الأجهزة العامة في الميدان.
ومع ذلك، بما أنّه يجب بدء عملية وضع هذه الملفات الشخصية من التطبيق، سيكون من الصعب أو من المستحيل على التطبيقات تسجيل مسارات الأداء الحرجة، مثل عمليات بدء التشغيل أو أخطاء ANR.
للمساعدة في ذلك، يقدّم نظام التشغيل Android 16 ميزة "الملف الشخصي الذي يبدأه النظام" لتطبيق
ProfilingManager. يمكن للتطبيقات تسجيل اهتمامها بتلقّي عمليات تتبُّع لعوامل بدء محدّدة
مثل بدء التشغيل البارد reportFullyDrawn
أو أخطاء ANR، ثم يبدأ النظام عملية تتبُّع ويوقفها نيابةً عن التطبيق. بعد اكتمال التتبُّع، يتم إرسال النتائج إلى دليل بيانات التطبيق.
بدء المكوّن في ApplicationStartInfo
تم إضافةApplicationStartInfo في الإصدار
15 من Android، ما يتيح للتطبيق الاطّلاع على أسباب
بدء العملية ونوع البدء وأوقات البدء والحدّ من السرعة وغيرها من بيانات التشخيص مفيدة. يضيف الإصدار 16 من Android رمزًا برمجيًا هو
getStartComponent()
لتمييز نوع المكوّن الذي بدأ عملية التشغيل، ما قد يكون مفيدًا في
تحسين عملية بدء تشغيل تطبيقك.
تحسين فحص المهام
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
SystemHealthManager 引入了 getCpuHeadroom 和 getGpuHeadroom API,旨在为游戏和资源密集型应用提供可用 CPU 和 GPU 资源的估算值。通过这些方法,您可以评估应用或游戏如何以最佳方式改善系统运行状况,尤其是在与用于检测热节流的其他 Android 动态性能框架 (ADPF) API 搭配使用时。
在受支持的设备上使用 CpuHeadroomParams 和 GpuHeadroomParams,您可以自定义用于计算余量的时间范围,并在平均资源可用性或最低资源可用性之间进行选择。这有助于您相应地减少 CPU 或 GPU 资源用量,从而提升用户体验并延长电池续航时间。
تسهيل الاستخدام
يضيف نظام التشغيل Android 16 ميزات وواجهات برمجة تطبيقات جديدة لتسهيل الاستخدام يمكن أن تساعدك في توفير تطبيقك لجميع المستخدمين.
واجهات برمجة تطبيقات محسَّنة لتسهيل الاستخدام
Android 16 添加了其他 API 来增强界面语义,这有助于为依赖于无障碍服务(例如 TalkBack)的用户提高一致性。
为文字添加轮廓,以最大限度地提高文字对比度
视力较低的用户对对比度的敏感度通常较低,因此很难将对象与背景区分开来。为了帮助这些用户,Android 16 引入了轮廓文本,取代了高对比度文本,后者会在文本周围绘制较大的对比度区域,以大大提高可辨性。
Android 16 包含新的 AccessibilityManager API,可让您的应用检查或注册监听器,以查看此模式是否已启用。这主要适用于 Compose 等界面工具包,以提供类似的视觉体验。如果您维护界面工具包库,或者您的应用执行绕过 android.text.Layout 类的自定义文本渲染,则可以使用此方法来了解何时启用轮廓文本。
向 TtsSpan 添加了时长
Android 16 使用 TYPE_DURATION 扩展了 TtsSpan,其中包含 ARG_HOURS、ARG_MINUTES 和 ARG_SECONDS。这样,您就可以直接为时长添加注释,确保通过 TalkBack 等服务获得准确且一致的文本转语音输出。
支持具有多个标签的元素
Android 目前允许界面元素从其他元素派生其无障碍功能标签,现在还支持关联多个标签,这是 Web 内容中常见的情况。通过在 AccessibilityNodeInfo 中引入基于列表的 API,Android 可以直接支持这些多标签关系。在进行这项更改的过程中,我们已弃用 AccessibilityNodeInfo#setLabeledBy 和 #getLabeledBy,改用 #addLabeledBy、#removeLabeledBy 和 #getLabeledByList。
改进了对可展开元素的支持
Android 16 添加了无障碍功能 API,可让您传达互动元素(例如菜单和展开式列表)的展开或收起状态。通过使用 setExpandedState 设置展开状态,并使用 CONTENT_CHANGE_TYPE_EXPANDED 内容更改类型调度 TYPE_WINDOW_CONTENT_CHANGED AccessibilityEvents,您可以确保 TalkBack 等屏幕阅读器会读出状态更改,从而提供更直观、更包容的用户体验。
不确定进度条
Android 16 添加了 RANGE_TYPE_INDETERMINATE,让您可以为确定性和不确定性 ProgressBar 微件公开 RangeInfo,从而让 TalkBack 等服务能够更一致地为进度指示器提供反馈。
三态复选框
Android 16 中的新 AccessibilityNodeInfo
getChecked 和 setChecked(int) 方法现在除了“已选中”和“未选中”之外,还支持“部分选中”状态。此字段取代了已废弃的布尔值 isChecked 和 setChecked(boolean)。
补充说明
如果无障碍服务提供关于 ViewGroup 的说明,则会将来自其子视图的内容标签合并在一起。如果您为 ViewGroup 提供 contentDescription,无障碍服务会假定您还要覆盖不可聚焦的子视图的说明。如果您想为下拉菜单等内容添加标签(例如“字体系列”),同时保留当前的无障碍功能选择(例如“Roboto”),这可能会造成问题。Android 16 添加了 setSupplementalDescription,以便您提供用于提供 ViewGroup 相关信息的文本,而不会覆盖其子项中的信息。
必填表单字段
Android 16 向 AccessibilityNodeInfo 添加了 setFieldRequired,以便应用可以告知无障碍服务需要输入表单字段。对于填写各种类型表单的用户而言,这是一个重要的场景,即使是简单的必填条款及条件复选框,也能帮助用户始终如一地识别必填字段并在必填字段之间快速导航。
استخدام الهاتف كميكروفون لإجراء مكالمات صوتية باستخدام سماعات الأذن الطبية المزودة بتقنية LEA
يضيف نظام التشغيل Android 16 إمكانية السماح لمستخدمي سمّاعات الأذن الطبية المزوّدة بتقنية LE Audio بالتبديل بين الميكروفونات المدمجة في سمّاعات الأذن الطبية والميكروفون في الهاتف لإجراء المكالمات الصوتية. يمكن أن يكون ذلك مفيدًا في البيئات الصاخبة أو في حالات أخرى قد لا تعمل فيها ميكروفونات سماعة الأذن الطبية بشكل جيد.
عناصر التحكّم في مستوى الصوت المحيط لسماعات الأذن الطبية المتوافقة مع LEA
يتيح نظام التشغيل Android 16 لمستخدمي سمّاعات الأذن الطبية التي تتضمّن تقنية LE Audio إمكانية ضبط مستوى الصوت المحيط الذي تلتقطه ميكروفونات سمّاعة الأذن الطبية. يمكن أن يكون هذا الإجراء مفيداً في الحالات التي تكون فيها الضوضاء في الخلفية صاخبة جدًا أو منخفضة جدًا.
الكاميرا
يحسِّن نظام التشغيل Android 16 إمكانية استخدام الكاميرات الاحترافية، ما يتيح التعريض التلقائي المختلط إلى جانب إجراء تعديلات دقيقة على درجة حرارة الألوان ودرجة اللون. يساعد مؤشر وضع الليل الجديد تطبيقك في معرفة الوقت المناسب للتبديل إلى جلسة كاميرا في وضع الليل أو إيقافها. تسهّل الإجراءات الجديدة Intent التقاط صور متحركة،
ونواصل تحسين صور Ultra HDR من خلال توفير توافق مع ترميز HEIC
ومَعلمات جديدة من مسودة معيار ISO 21496-1.
التعرّض التلقائي المختلط للضوء
Android 16 向 Camera2 添加了新的混合自动曝光模式,让您可以手动控制曝光的特定方面,同时让自动曝光 (AE) 算法处理其余部分。您可以控制 ISO + AE 和曝光时间 + AE,与当前方法(您要么完全手动控制,要么完全依赖自动曝光)相比,可提供更大的灵活性。
fun setISOPriority() {
// ... (Your existing code before the snippet) ...
val availablePriorityModes = mStaticInfo.characteristics.get(
CameraCharacteristics.CONTROL_AE_AVAILABLE_PRIORITY_MODES
)
// ... (Your existing code between the snippets) ...
// 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_PRIORITY
)
reqBuilder.set(
CaptureRequest.SENSOR_SENSITIVITY,
TEST_SENSITIVITY_VALUE
)
val request: CaptureRequest = reqBuilder.build()
// ... (Your existing code after the snippet) ...
}
تعديلات دقيقة على درجة حرارة الألوان ودرجة اللون
Android 16 增加了对相机的精细色温和色调调整的支持,以更好地支持专业视频录制应用。在较低版本的 Android 中,您可以通过 CONTROL_AWB_MODE 控制白平衡设置,其中包含仅限于预设列表的选项,例如白炽灯、多云和黄昏。COLOR_CORRECTION_MODE_CCT 可让您使用 COLOR_CORRECTION_COLOR_TEMPERATURE 和 COLOR_CORRECTION_COLOR_TINT 根据相关色温精确调整白平衡。
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) ...
}
以下示例展示了应用不同色温和色调调整后的照片效果:
رصد المشاهد في "الوضع الليلي" للكاميرا
为了帮助应用了解何时切换到夜间模式相机会话以及何时从夜间模式相机会话切换出,Android 16 添加了 EXTENSION_NIGHT_MODE_INDICATOR。如果受支持,则可在 Camera2 内的 CaptureResult 中使用。
这是我们在Instagram 如何让用户拍出令人惊艳的低光照片博文中提到的即将推出的 API。该博文提供了有关如何实现夜间模式的实用指南,并附有一份案例研究,该案例研究将应用内夜间模式照片质量的提升与通过应用内相机分享的照片数量的增加联系起来。
إجراءات Intent لالتقاط صور حيّة
Android 16 添加了标准 intent 操作 ACTION_MOTION_PHOTO_CAPTURE 和 ACTION_MOTION_PHOTO_CAPTURE_SECURE,用于请求相机应用拍摄动态照片并将其返回。
您必须传递额外的 EXTRA_OUTPUT 来控制将图片写入的位置,或者通过 Intent.setClipData(ClipData) 传递 Uri。如果您未设置 ClipData,系统会在调用 Context.startActivity(Intent) 时将其复制到该位置。
تحسينات على صور UltraHDR
Android 16 继续致力于通过 UltraHDR 图片提供出色的图片质量。它添加了对 HEIC 文件格式的 UltraHDR 图片的支持。这些图片将获得 ImageFormat 类型 HEIC_ULTRAHDR,并包含类似于现有 UltraHDR JPEG 格式的嵌入式增益图。我们还在努力为 UltraHDR 添加 AVIF 支持,敬请期待。
此外,Android 16 在 UltraHDR 中实现了 ISO 21496-1 草稿标准中的其他参数,包括能够获取和设置应应用增益图算法的色彩空间,以及支持使用 SDR 增益图的 HDR 编码基础图片。
الرسومات
يتضمّن Android 16 أحدث التحسينات على الرسومات، مثل التأثيرات الرسومية المخصّصة باستخدام AGSL.
تأثيرات رسومية مخصّصة باستخدام AGSL
Android 16 添加了 RuntimeColorFilter 和 RuntimeXfermode,让您可以创作阈值、Sepia 和 Hue Saturation 等复杂效果,并将其应用于绘制调用。从 Android 13 开始,您可以使用 AGSL 创建扩展 Shader 的自定义 RuntimeShader。新 API 反映了这一点,添加了由 AGSL 驱动的 RuntimeColorFilter(用于扩展 ColorFilter)和 Xfermode 效果,让您可以在源像素和目标像素之间实现基于 AGSL 的自定义合成和混合。
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 وتحديد المسافة بالاستناد إلى مؤشر RSSI في BLE وUltrawideband ووقت الرحلة ذهابًا وإيابًا عبر شبكة Wi-Fi.
توفّر الجهاز المصاحب في "أداة إدارة الأجهزة المصاحبة"
في Android 16، يتمّ طرح واجهات برمجة تطبيقات جديدة لربط
خدمة التطبيق المصاحب. سيتم ربط الخدمة عندما تكون تقنية BLE ضمن النطاق ويكون البلوتوث متصلاً،
وسيتم إلغاء ربط الخدمة عندما تكون تقنية BLE خارج النطاق أو عندما يتم
إيقاف البلوتوث. سيتلقّى التطبيق مكالمة مرتجعة جديدة لرمز دالة onDevicePresenceEvent() استنادًا إلى قيم مختلفة لحالة DevicePresenceEvent.
يمكنك الاطّلاع على مزيد من التفاصيل في
'startObservingDevicePresence(ObservingDevicePresenceRequest)'.
الوسائط
يتضمّن Android 16 مجموعة متنوعة من الميزات التي تحسّن تجربة استخدام الوسائط.
تحسينات على أداة اختيار الصور
照片选择器为用户提供了一种安全的内置授权方式,让用户可以向应用授予对本地存储空间和云端存储空间中所选图片和视频的访问权限,而不是对整个媒体库的访问权限。通过 Google 系统更新和 Google Play 服务组合使用模块化系统组件,该工具向后支持到 Android 4.4(API 级别 19)。只需几行代码即可与相关的 Android Jetpack 库集成。
Android 16 对照片选择器进行了以下改进:
- 嵌入式照片选择器:新 API,可让应用将照片选择器嵌入其视图层次结构中。这样,它就感觉像是应用中更为集成的一部分,同时仍可利用进程隔离功能,让用户能够选择媒体,而无需应用拥有过于宽泛的权限。为了最大限度地提高跨平台版本的兼容性并简化集成,如果您想集成嵌入式照片选择器,则需要使用即将推出的 Android Jetpack 库。
- 照片选择器中的云搜索:新的 API 可让 Android 照片选择器从云端媒体提供商中进行搜索。照片选择器中的搜索功能即将推出。
فيديو احترافي متقدّم
Android 16 引入了对高级专业视频 (APV) 编解码器的支持,该编解码器专为专业级高品质视频录制和后期制作而设计。
APV 编解码器标准具有以下特点:
- 感知上无损的视频画质(接近原始视频画质)
- 复杂度低且吞吐量高的仅帧内编码(无像素域预测),以更好地支持编辑工作流
- 支持高比特率范围(最高几十 Gbps),适用于 2K、4K 和 8K 分辨率内容,由轻量级熵编码方案实现
- 帧平铺,用于沉浸式内容和启用并行编码和解码
- 支持各种色度采样格式和位深
- 支持多次解码和重新编码,且不会严重降低视觉质量
- 支持多视图视频和辅助视频,例如深度、Alpha 和预览
- 支持 HDR10/10+ 和用户定义的元数据
OpenAPV 项目提供了 APV 的参考实现。Android 16 将实现对 APV 422-10 配置文件的支持,该配置文件提供 YUV 422 色彩采样以及 10 位编码,并且目标比特率最高可达 2 Gbps。
الخصوصية
يتضمّن Android 16 مجموعة متنوّعة من الميزات التي تساعد مطوّري التطبيقات في حماية خصوصية المستخدمين.
تحديثات 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.
إطار عمل موحّد لجودة الصورة والصوت في أجهزة التلفزيون
Android 16 中的新 MediaQuality 软件包公开了一组标准化 API,用于访问音频和图片配置文件以及与硬件相关的设置。这样,在线播放应用就可以查询配置文件并将其动态应用于媒体:
- 使用更大动态范围进行母版制作的电影需要更高的色彩准确度,才能看清阴影中的细微细节并根据环境光线进行调整,因此,最好使用色彩准确度优先于亮度的配置文件。
- 体育赛事直播通常采用较窄的动态范围进行母版制作,但通常是在白天观看,因此偏向亮度而非色彩准确度的配置文件可以获得更好的效果。
- 完全交互式内容需要尽可能减少处理以缩短延迟时间,并且需要更高的帧速率,因此许多电视都附带游戏配置文件。
借助此 API,应用可以在个人资料之间切换,用户可以享受调整支持的电视,以便尽可能适合其内容。
التوافق مع أسواق عالمية
يضيف نظام التشغيل Android 16 ميزات وإمكانات تكمل تجربة المستخدم عند استخدام الجهاز بلغات مختلفة.
نص عمودي
Android 16 添加了对垂直渲染和测量文本的低级支持,以便为库开发者提供基本的垂直书写支持。这对于日语等通常使用竖向书写系统的语言特别有用。Paint 类中添加了一个新标志 VERTICAL_TEXT_FLAG。使用 Paint.setFlags 设置此标志后,Paint 的文本测量 API 将报告垂直进度,而不是水平进度,并且 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
)
}
}
) {}
تخصيص نظام القياس
يمكن للمستخدمين الآن تخصيص نظام القياس في الإعدادات المفضّلة على مستوى المنطقة ضمن
الإعدادات. يتم تضمين إعدادات المستخدم المفضّلة كجزء من رمز اللغة، لذا يمكنك تسجيل BroadcastReceiver على ACTION_LOCALE_CHANGED للتعامل مع تغييرات إعدادات اللغة عند تغيير الإعدادات المفضّلة على مستوى المنطقة.
يمكن أن يساعد استخدام أدوات التنسيق في مطابقة التجربة المحلية. على سبيل المثال، تمثل القيمة "0.5 بوصة" باللغة الإنجليزية (الولايات المتحدة) القيمة "12.7 مم" لمستخدم ضبط لغة هاتفه على الإنجليزية (الدنمارك) أو يستخدم هاتفه باللغة الإنجليزية (الولايات المتحدة) مع استخدام النظام المتري كنظام القياس المفضّل.
للعثور على هذه الإعدادات، افتح تطبيق "الإعدادات" وانتقِل إلى النظام > اللغات والمنطقة.