تمنح أذونات التشغيل في Android 6 والإصدارات الأحدث للمستخدمين إمكانية التحكّم في الحالات التي يسمحون فيها بتسجيل الصوت من ميكروفون الجهاز أو الفيديو من كاميرا الجهاز. قبل أن يتمكّن التطبيق من التسجيل، يجب أن يمنح المستخدم الإذن له أو يرفضه من خلال مربّع حوار يعرضه النظام.
يقدّم نظام التشغيل Android 12 الشفافية للمستخدمين من خلال عرض مؤشرات عندما يستخدم أحد التطبيقات مصدر بيانات خاصًا من خلال أذونات التشغيل الخاصة بالتطبيقات للكاميرات والميكروفون. تسجِّل "عمليات التطبيق" عمليات الوصول إلى واجهات برمجة التطبيقات المحمية بأذونات وقت التشغيل.
تتتبّع ميزة "إبقاء التطبيقات تحت السيطرة" حالة النشاط وعدد طلبات البيانات الفردية من واجهة برمجة التطبيقات، وتتفاعل مع مؤشرات الميكروفون والكاميرا في Android 12 لإعلام المستخدمين عندما تصل التطبيقات إلى بيانات الصوت والكاميرا على أجهزتهم. عندما ينقر المستخدمون على مؤشرَي الميكروفون أو الكاميرا، يظهر لهم التطبيقات التي وصلت إلى بياناتهم. هذه الميزة إلزامية لجميع المصنّعين الأصليّين للأجهزة.
متطلبات مستوى ظهور المؤشر
في ما يلي متطلبات مؤشرات الميكروفون والكاميرا على الأجهزة التي تعمل بالإصدار 12 من نظام التشغيل Android أو الإصدارات الأحدث:
- يجب أن تظهر المؤشرات في شريط الحالة، وأن تحتفظ بأعلى أولوية مرئية (على سبيل المثال، أن تكون في أقصى يسار أعلى يمين الشاشة).
- يجب أن يتم وضع المؤشرات باستمرار في الموضع نفسه، ويجب ألا يحظر أي تطبيق ظهورها عند تشغيله.
- يجب أن يكون لون كلا المؤشّرين أخضر (أو لونًا قريبًا من الأخضر).
- يجب أن يؤدي النقر على أحد المؤشّرين أو كليهما إلى عرض إشعار ميزات
تحديد المصدر للتطبيق ينفّذ ما يلي:
- تعرِض هذه السمة اسم التطبيق الذي يستخدم الميكروفون و/أو الكاميرا.
- تعرِض هذه السمة اسم التطبيق الذي استخدم الميكروفون و/أو الكاميرا في آخر 15 ثانية.
- تنقل المستخدمين إلى صفحة أذونات التطبيق في الإعدادات
الاستخدام والميزات
في Android 12، تميِّز واجهة المستخدم بين عمليات الاستخدام الجارية وعمليات الاستخدام الأخيرة. تُعتبر عمليات الاستخدام نشطة إذا كان النظام قد حدد أنّها قيد التشغيل أو إذا مرّ أقل من 5 ثوانٍ على استخدامها.
- تظهر رموز شريط الحالة في كل مرة يحصل فيها تطبيق على إذن بالوصول إلى الميكروفون أو الكاميرا بشكل مستمر، وذلك لتوفير معلومات حسّاسة للمستخدم.
- ويمكن للمستخدمين النقر على هذه الرموز والاطّلاع على التطبيقات التي تحصل على إذن الوصول إلى الميكروفون أو الكاميرا أو كليهما.
الشكل 1: مؤشرات استخدام الميكروفون والكاميرا التي تعرض إمكانية الوصول النشطة (في أعلى يسار الشاشة)
ويُعدّ إذن الوصول نشطًا طوال مدة ظهور المؤشرات. يظهر رمز أولاً، ثم يتحول إلى نقطة تظل ظاهرة إلى أن يتم إغلاق التطبيق أو إغلاقه.
عندما يفتح المستخدم "الإعدادات السريعة" ثم ينقر على المؤشرات، يظهر مربّع حوار يُظهر ما إذا كان التطبيق يستخدم الكاميرا أو الميكروفون أو كليهما.
الشكل 2: مؤشرات الوصول النشطة والمُحدَّثة مؤخرًا
تعرض الصورة في الشكل 2 مؤشرات الوصول النشط عندما تم الوصول إلى البيانات في آخر 5 ثوانٍ من خلال تطبيق قيد التشغيل.
تشير مؤشرات الوصول الأخيرة إلى أنّ أحد التطبيقات قد وصل إلى البيانات خلال ال 15 ثانية السابقة، ولكنّ التطبيق غير نشط. تظهر جميع التطبيقات النشطة في المربّع الحواري، ولكن يظهر تطبيق واحد فقط كمصدر الوصول الأخير، حتى إذا كان هناك أكثر من تطبيق واحد قد وصل إلى البيانات خلال إطار زمني سابق مدته 15 ثانية. تظلّ طريقة عرض الوصول مجمّدة إلى أن يغلِق المستخدم مربّع حوار الإشعار.
الإرسال والتفعيل
توفّر فئة PermissionManager
طريقة لتعبئة مربّع الحوار الذي
يقع في واجهة مستخدم النظام.
- تستجيب واجهة مستخدم النظام لعملية تبديل إعدادات الجهاز:
privacy/mic_camera_indicators_enabled
. - إنّ التبديل ضروري لأنّ هناك مركبتَي تسليم منفصلتَين بالترتيب التالي:
- أرسِل العينة.
- فعِّل الميزة.
- يجب ألا يتعطّل واجهة مستخدم النظام إذا تعذّر على الطريقة في
PermissionManager
تقديم البيانات المطلوبة.
سير العملية
تتضمّن وظيفة "مؤشر الأذونات" ثلاثة أجزاء رئيسية:
- التطبيقات
- المؤشرات (يعالجها SystemUI)
- طريقة لتحديد التطبيقات التي تستخدم البيانات
يوفّر PermissionController
آلية لتحديد التطبيقات التي
تستخدم البيانات. يتتبّع SystemUI التطبيقات التي تستخدم البيانات الخاصة. يعرض SystemUI رمزًا
في أعلى شريط التنقّل يتوافق مع الأذونات المستخدَمة. تعرِض العلامة
PermissionController
بيانات عن الاستخدامات عندما ينقر المستخدِم على رمز.
الشكل 3: مكونات النظام وتدفّق عمليات النقل (في واجهة المستخدم)
في ما يلي وصف للعمليات الانتقالية المرقّمة في الشكل 3:
1- يطلب أحد التطبيقات بيانات خاصة من النظام.
2- يتحقّق النظام من الأذونات. في حال السماح بالأذونات، يُرسِل النظام إشعارًا لموفِّر البيانات ويُسجِّل الاستخدام في عمليات التطبيق.
3- يقدّم مزوّد البيانات البيانات إلى التطبيق.
4-5 ينقر المستخدم على الرموز. يطلب واجهة مستخدم النظام البيانات من
PermissionManager
ويعرض مربّع الحوار على المستخدم.
تفاصيل العملية
- تستخدم التطبيقات الميكروفون والكاميرا و
AppOpsManager.startOp
وstopOp
و (أو)noteOp
. يؤدي ذلك إلى إنشاء سجلّات عمليات تشغيل التطبيقات في خادم النظام. - تستمع واجهة مستخدم النظام إلى عمليات التطبيق الجديدة باستخدام مستمعَي
AppOpsManager.OnOpActiveChangedInternalListener
وOnOpNotedListener
. عند تلقّي طلب استخدام جديد (من خلال طلب إلىstartOp
أوnoteOp
)، تتحقّق واجهة مستخدم النظام من أنّ الاستخدام من خلال تطبيق نظام. - إذا تحقّق واجهة مستخدم النظام من استخدام تطبيقات النظام، وإذا كان الاستخدام هو للميكروفون، تتحقّق واجهة مستخدم النظام مما إذا كان الميكروفون صامتًا.
- إذا تحقّق واجهة مستخدم النظام من استخدام تطبيق غير تابع للنظام (وبالنسبة إلى استخدام الميكروفون، أنّه تم إلغاء كتم صوت الميكروفون، وبالنسبة إلى استخدام الكاميرا، أنّه تم تفعيل الكاميرا)، فإنه يعرض رمزًا يشير إلى هذا الاستخدام.
إذا تلقّت واجهة مستخدم النظام رمز noteOp
الذي لا يرتبط بمدة، ستعرض الرمز مدّة
5 ثوانٍ على الأقل. بخلاف ذلك، يظهر الرمز إما إلى أن يتلقّى إشارة
stopOp
أو لمدة 5 ثوانٍ، أيّهما أطول. يؤدي نقر المستخدم على رمز
إلى بدء هدف ينتقل إلى PermissionController
لبدء مربّع الحوار.
تحمِّل PermissionController
جميع عمليات استخدام الميكروفون والكاميرا الأخيرة. ويتحقق من تنفيذ أي من هذه الإجراءات أو تنفيذها خلال الإطار الزمني الذي حدّده واجهة مستخدم النظام. وفي حال العثور على تطابق، يتم عرض اسم التطبيق
الذي استخدم الإذن والأذونات التي استخدمها التطبيق.
بسبب هذا التغيير في الإصدار 12 من نظام التشغيل Android والإصدارات الأحدث، يجب أن تغيّر بعض التطبيقات سلوكها أو تطبّق سلوكًا خاصًا.
يجب أن ينفِّذ تطبيق "الاتصال الهاتفي" استخدام الإذن (للتحقّق من توفّر حزمة الميكروفون المنفصلة المستخدَمة في المكالمات الهاتفية)، أثناء العمل مع تطبيق "بحث Google" (AGSA) و"خدمات Google للأجهزة الجوّالة" (GMS).