أندرويد 17 يُلغي صلاحية الكتابة المباشرة على جهات الاتصال
تستعد جوجل لإدخال تغييرات أمنية كبيرة على طريقة تعامل التطبيقات مع جهات الاتصال في الإصدار القادم من أندرويد، مما يتطلب من المطورين تحديث أكوادهم لضمان التوافق.

نهاية حقبة الكتابة المباشرة على جهات الاتصال
أعلنت جوجل رسمياً عن تغييرات جوهرية في طريقة تعامل التطبيقات مع بيانات جهات الاتصال في الإصدار القادم من نظام أندرويد. وفقاً لما نشرته على مدونة المطورين، لن تتمكن التطبيقات التي تستهدف هذا الإصدار الجديد من الكتابة المباشرة على جهات الاتصال باستخدام صلاحية WRITE_CONTACTS. إذا حاولت أي من هذه التطبيقات تنفيذ عملية كتابة مباشرة، فإن النظام سيرفض العملية وسيؤدي إلى حدوث استثناء أمني (SecurityException) أو رفض الصلاحية. هذا التغيير يهدف إلى تقليل الصلاحيات الواسعة التي كانت تمنحها التطبيقات لنفسها دون حاجة فعلية.

اعتماد نوايا النظام القياسية كبديل آمن
بديل الكتابة المباشرة هو استخدام نوايا النظام القياسية المعتمدة منذ فترة، وهي ACTION_INSERT لإضافة جهة اتصال جديدة، و ACTION_EDIT لتحرير جهة اتصال موجودة، و ACTION_INSERT_OR_EDIT للدمج بين العمليتين. في الإصدار القادم من أندرويد، ستعمل هذه النوايا بشكل متسق عبر جميع الأجهزة دون الحاجة إلى أي صلاحية خاصة. سيتولى النظام عرض محرر جهات اتصال موحّد ونظيف، حيث يظهر نموذج نصف صفحة سريع للإدخالات الجديدة، أو يتيح للمستخدم البحث عن جهة اتصال موجودة وإضافة معلومات إليها. يمكن للمستخدمين توسيع هذا المحرر ليعمل كصفحة كاملة لإدخال تفاصيل إضافية، كل ذلك دون أن يحتاج تطبيقك إلى صلاحيات كتابة مباشرة.

معالجة مشاكل التباين بين الأجهزة
أشارت جوجل إلى أن المطورين كانوا يلجأون إلى طلب صلاحية WRITE_CONTACTS بسبب عدم موثوقية النوايا القياسية في الإصدارات السابقة. كانت تجربة استخدام النوايا تختلف من جهاز لآخر؛ فبعض المحررات كانت تتجاهل البيانات المرسلة مثل صور جهات الاتصال، بينما في أجهزة أخرى كانت زر الرجوع يحفظ جهة الاتصال دون قصد المستخدم، أو كان خيار إنشاء جهة اتصال جديدة يصعب العثور عليه. من خلال الإصدار الجديد، ستفرض جوجل معايير موحدة على جميع الأجهزة، مما يجعل استخدام النوايا خياراً عقلانياً وموثوقاً. كما سيتم توحيد دعم البيانات الاختيارية (Extras)، مثل EXTRA_ACCOUNT لتحديد الحساب الذي تُحفظ فيه جهة الاتصال، و EXTRA_PHOTO_URI لتمرير صورة جاهزة، مما كان يختلف دعمه سابقاً حسب الشركة المصنّعة.
إذن MANAGE_CONTACTS للتطبيقات المتخصصة
بالنسبة للتطبيقات القليلة التي تتطلب وصولاً واسعاً لإنشاء وتعديل جهات الاتصال كجزء أساسي من وظيفتها، ستقدم جوجل إذناً خاصاً جديداً باسم MANAGE_CONTACTS. سيصل هذا الإذن في تحديث Android 17 QPR2 المتوقع في الربع الرابع من عام 2026. يختلف هذا الإذن عن الصلاحيات التقليدية لأنه لا يظهر كنافذة منبثقة وقت التشغيل، بل يجب على المستخدم تفعيله يدوياً من إعدادات النظام تحت قسم 'الوصول الخاص بالتطبيقات'. يغطي هذا الإذن القراءة والإضافة والتحرير والحذف لجهات الاتصال والحسابات وبيانات دليل الأشخاص. لن تحتاج التطبيقات التي تستخدم هذا الإذن إلى طلب صلاحية READ_CONTACTS بشكل منفصل. للحصول على هذا الإذن على متجر Google Play، يجب على المطورين تقديم بيان يوضح لماذا لا تكفي النوايا القياسية لتلبية احتياجات التطبيق.

دليل الأشخاص الجديد وإجراءات الاتصال
تقدم جوجل أيضاً ميزة جديدة تسمى 'دليل الأشخاص' (People Directory) في نفس التحديث. هذه الميزة موجهة للتطبيقات التي تضيف إجراءات مثل 'اتصال عبر...' أو 'مراسلة عبر...' لجهات الاتصال، مما يتيح للمستخدم بدء مكالمة أو محادثة من تطبيق الهاتف أو جهات الاتصال. بدلاً من كتابة إدخالات إضافية في جهات اتصال المستخدم، سيتيح دليل الأشخاص للتطبيق نشر كيفية تواصل الأشخاص مع بعضهم البعض داخل التطبيق دون تعديل بيانات المستخدم. هذا يحمي خصوصية المستخدم ويمنع التلوث غير المرغوب فيه في قائمة جهات الاتصال الخاصة به.

خطوات الانتقال للمطورين
توصي جوجل المطورين ببدء البحث في أكوادهم عن استخدامات صلاحية WRITE_CONTACTS وواجهات برمجة التطبيقات المرتبطة بها مثل ContactsContract.RawContacts.CONTENT_URI. يجب استبدال كل عملية كتابة يقودها المستخدم بنوايا النظام المناسبة: ACTION_INSERT للمنتجات الجديدة، و ACTION_EDIT أو ACTION_INSERT_OR_EDIT للتحديثات. كما يجب التأكد من استخدام أنواع البيانات القياسية فقط، وتجنب أنواع البيانات المخصصة التي يتجاهلها المحرر الجديد بصمت. إذا كان تطبيقك يحتاج فقط إلى قراءة جهات اتصال يختارها المستخدم، فيمكنك استخدام 'منتقي جهات الاتصال' (Contact Picker) المتاح منذ أندرويد 17 دون أي صلاحية. يجب إزالة صلاحية WRITE_CONTACTS من ملف清单 (Manifest) التطبيق بمجرد عدم وجود أي مسار كود يحتاج إليها.
المصادر
- Android DevelopersA more reliable way to add and edit contacts on Android
تابع التسلسل الزمني





