مؤشرات الخصوصية

تمنح أذونات وقت التشغيل في Android 6 والإصدارات الأحدث المستخدمين التحكم في الوقت الذي يسمحون فيه بتسجيل الصوت من ميكروفون الجهاز أو الفيديو من كاميرا الجهاز. قبل أن يتمكن التطبيق من التسجيل ، يجب على المستخدم إما منح الإذن أو رفضه من خلال مربع حوار يقدمه النظام.

يوفر Android 12 للمستخدمين شفافية من خلال عرض المؤشرات عندما يستخدم التطبيق مصدر بيانات خاص من خلال الكاميرات وأذونات تشغيل تطبيق الميكروفون. وصول سجل عمليات التطبيق إلى واجهات برمجة التطبيقات المحمية بإذن وقت التشغيل.

يتتبع App-op كلاً من حالة النشاط وعدد مكالمات API الفردية ، ويتفاعل مع مؤشرات الميكروفون والكاميرا في Android 12 لإظهار المستخدمين عندما تصل التطبيقات إلى بيانات الصوت والكاميرا على أجهزتهم. عندما ينقر المستخدمون على الميكروفون أو مؤشرات الكاميرا ، فإنهم يرون التطبيقات التي تمكنت من الوصول إلى بياناتهم. هذه الميزة إلزامية لجميع مصنعي المعدات الأصلية.

متطلبات رؤية المؤشر

هذه هي متطلبات الميكروفون والكاميرا على الأجهزة التي تعمل بنظام Android 12 أو أعلى:

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

الاستخدام والميزات

في Android 12 ، تميز واجهة المستخدم بين الاستخدامات قيد التشغيل والاستخدامات الحديثة. تعتبر الاستخدامات "نشطة" إذا تم تحديدها من قبل النظام على أنها "قيد التشغيل" ، أو كانت أقدم من 5 ثوانٍ.

  • تظهر رموز شريط الحالة في كل مرة يتوفر فيها تطبيق ما بشكل مستمر أو وصول إلى الكاميرا أو الميكروفون الحساس للمستخدم.
  • يمكن للمستخدمين النقر فوق هذه الرموز ومعرفة التطبيقات التي تصل إلى الميكروفون أو الكاميرا أو كليهما.

Microphone and camera in-use indicators showing that access is active

الشكل 1. تظهر مؤشرات الميكروفون والكاميرا قيد الاستخدام وصولاً نشطًا (الزاوية العلوية اليمنى)

يعتبر الوصول نشطًا طالما أن المؤشرات تظهر. يظهر الرمز أولاً ، ثم ينتقل إلى نقطة تستمر حتى يتم رفض التطبيق أو إغلاقه.

عندما ينقر المستخدم على المؤشرات ، يتم فتح مربع حوار يوضح أن أحد التطبيقات يستخدم حاليًا الكاميرا أو الميكروفون أو كليهما.

Indicators for both active and recent access, and whether the access was from camera or microphone

الشكل 2. مؤشرات الوصول النشطة والحديثة

تُظهر الصورة في الشكل 2 مؤشرات الوصول النشط عندما تم الوصول إلى البيانات في الثواني الخمس الماضية بواسطة تطبيق قيد التشغيل.

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

تسليم وتمكين

توفر فئة PermissionManager طريقة لتعبئة مربع الحوار الموجود في واجهة مستخدم النظام.

  • تتفاعل واجهة مستخدم النظام مع مفتاح تكوين الجهاز: privacy/mic_camera_indicators_enabled .
  • يعد التبديل ضروريًا نظرًا لوجود مركبتين منفصلتين للتسليم ، بالترتيب التالي:
    1. يسلم.
    2. يمكن.
  • يجب ألا تتعطل واجهة مستخدم النظام إذا لم تتمكن الطريقة في PermissionManager من توفير البيانات المطلوبة.

عملية تدفق

تتكون وظيفة مؤشر الإذن من ثلاثة أجزاء رئيسية:

  • التطبيقات
  • المؤشرات (تم التعامل معها بواسطة SystemUI)
  • طريقة لتحديد التطبيقات التي تستخدم البيانات

يوفر PermissionController آلية لتحديد التطبيقات التي تستخدم البيانات. يستمع SystemUI للتطبيقات التي تستخدم البيانات الخاصة. تعرض SystemUI رمزًا في شريط التنقل العلوي يتوافق مع الأذونات المستخدمة. يعرض PermissionController بيانات حول الاستخدامات عندما ينقر المستخدم فوق رمز.

Process flow for Permission Indicator functions

الشكل 3. مكونات النظام وتدفق انتقالات (UI)

الانتقالات المرقمة في الشكل 3 موضحة أدناه:

1- تطبيق يطلب بيانات خاصة من النظام.

2- يتحقق النظام من الأذونات. إذا تم السماح بالأذونات ، يقوم النظام بإعلام موفر البيانات ، ويلاحظ الاستخدام في عمليات التطبيق

3- يقوم مزود البيانات بإعطاء البيانات للتطبيق.

4-5 ينقر المستخدم فوق الرموز. تطلب واجهة مستخدم النظام بيانات من PermissionManager وتقدم مربع الحوار للمستخدم.

تفاصيل العملية

  1. تستخدم التطبيقات الميكروفون والكاميرا ، AppOpsManager.startOp و stopOp و (أو) noteOp . يؤدي هذا إلى إنشاء سجلات التطبيق في خادم النظام.
  2. تستمع واجهة مستخدم النظام إلى عمليات التطبيق الجديدة باستخدام AppOpsManager.OnOpActiveChangedInternalListener و OnOpNotedListener . عندما يأتي استخدام جديد (من خلال استدعاء إما إلى startOp أو noteOp ) ، تتحقق واجهة مستخدم النظام من أن الاستخدام يتم بواسطة أحد تطبيقات النظام.
  3. إذا كانت واجهة مستخدم النظام تتحقق من استخدام تطبيقات النظام ، وإذا كان الاستخدام للميكروفون ، فإن واجهة مستخدم النظام تتحقق مما إذا تم كتم صوت الميكروفون.
  4. إذا كانت واجهة مستخدم النظام تتحقق من استخدام تطبيقات غير تابعة للنظام ، (وبالنسبة لاستخدام الميكروفون ، أن الميكروفون غير مكتوم ؛ لاستخدام الكاميرا ، أن الكاميرا قيد التشغيل) ، فإنه يعرض رمزًا يعكس هذا الاستخدام.

إذا تلقت واجهة مستخدم النظام noteOp ، والتي ليس لها مدة ، فإنها تعرض الرمز لمدة 5 ثوانٍ على الأقل. وبخلاف ذلك ، تظهر الأيقونة إما حتى تتلقى stopOp ، أو لمدة 5 ثوانٍ ، أيهما أطول. يقوم المستخدم الذي ينقر فوق رمز ببدء نية تنتقل إلى PermissionController لبدء مربع الحوار.

يقوم PermissionController بتحميل جميع الاستخدامات الحديثة للميكروفون والكاميرا. يتحقق مما إذا كان أي منها قيد التشغيل حاليًا أو كان يعمل ضمن الإطار الزمني المحدد بواسطة واجهة مستخدم النظام. إذا عثر على تطابق ، فإنه يعرض اسم التطبيق الذي استخدم الإذن والأذونات التي استخدمها التطبيق.

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

يجب أن تنفذ الاتصالات الهاتفية استخدام الإذن (لحساب مكدس الميكروفون المنفصل المستخدم في المكالمات الهاتفية) ، أثناء العمل مع تطبيق Android Google Search (AGSA) و Google Mobile Services (GMS).