recent
أخبار ساخنة

Android 11 يحد من الهاك الخاص بتطبيقات الكاميرا

Android 11 يحد من الهاك الخاص بتطبيقات الكاميرا



بدأ Android بشعار مفاده أنه يُسمح للمطورين بفعل أي شيء طالما أنهم يستطيعون ترميزه.
لكن الأمور تغيرت على مر السنين حيث أصبح الأمان والخصوصية أولويتين أعلى.

كل تحديث رئيسي خلال العقد الماضي أغلق الميزات أو أضاف قيودًا باسم حماية المستخدمين ولكن قد لا تكون بعض التضحيات ضرورية تمامًا.

ظهرت ميزة أخرى لنظام Android 11 هذه المرة ألغت قدرة المستخدمين على اختيار تطبيقات الكاميرا التابعة لجهات خارجية لالتقاط الصور أو مقاطع الفيديو نيابة عن التطبيقات الأخرىمما أجبر المستخدمين على الاعتماد فقط على تطبيق الكاميرا المدمج.

 نظام Intent


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

هنا يأتي دور نظام Intent يقوم المطورون ببساطة بإنشاء طلب بمعايير قليلة وسيقوم Android بمطالبة المستخدمين بالاختيار من قائمة التطبيقات المثبتة للقيام بهذه المهمة.



ستتغير الأمور مع Android 11 للتطبيقات التي تطلب صورًا أو مقاطع فيديو. 
ستتوقف ثلاث أشياء محددة عن العمل كما كانت في السابق بما في ذلك: 
VIDEO_CAPTURE
 IMAGE_CAPTURE
 IMAGE_CAPTURE_SECURE
سيوفر Android 11 الآن تلقائيًا تطبيق الكاميرا المثبت مسبقًا لتنفيذ هذه الإجراءات دون البحث مطلقًا عن تطبيقات أخرى للقيام بالدور.

بدءًا من Android 11يمكن فقط لتطبيقات كاميرا النظام المثبتة مسبقًا الاستجابة للإجراءات التالية:
android.media.action.VIDEO_CAPTURE
android.media.action.IMAGE_CAPTURE
android.media.action.IMAGE_CAPTURE_SECURE

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

تصف Google التغيير في قائمة السلوكيات الجديدة في Android 11 وأكدت ذلك أيضًا في Issue Tracker .

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


لا يتحلى Android 11 بحرية التشغيل التلقائي لتطبيق الكاميرا المثبت مسبقًا عند الطلب فحسب بل يمنع أيضًا مطوري التطبيقات من توفير واجهة خاصة بهم لمحاكاة نفس الوظيفة.

أجريت اختبارًا ببعض التعليمات البرمجية البسيطة للاستعلام عن تطبيقات الكاميرا على الهاتف ثم تم تشغيله على الأجهزة التي تعمل بنظام Android 10 و 11 مع تثبيت نفس مجموعة تطبيقات الكاميرا.
أعاد Android 10 مجموعة كاملة من التطبيقات لكن Android 11 لم يبلغ عن أي شيء ولا حتى تطبيق الكاميرا المثبت مسبقًا من Google.



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

يتم فرض السلوك الجديد في الإصدار التجريبي الحالي من Android 11 على الأقل وسيحدث ذلك لأي تطبيقات بغض النظر عما إذا كانت تستهدف API 30 أو شيء أقل. 

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

هذا بالتأكيد ليس تغييرًا مدمرًا وبالنسبة للعديد من المستخدمين الذين يتحولون بالفعل إلى الكاميرا المدمجة ستكون شفافة تمامًا.

ستظل معظم التطبيقات تسمح للمستخدمين بالتبديل إلى الكاميرا المفضلة لديهم لالتقاط لقطة جيدة ثم تحميلها من المعرض.

مع ذلك هذا يعني المزيد من العمل للمستخدمين.

بالإضافة إلى ذلك لا تسمح بعض التطبيقات بسير عمل مختلف مما يعني أنك عالق مع أي تطبيق كاميرا موجود.


أوضحت جوجل أن تم إجراء هذا التغيير الى "ابقاء العناصر السيئة بعيداً عن موقعك."
 تمت إضافة هذا الشرح أيضًا في تحديث لقائمة التغييرات في Android 11 إلى جانب المزيد من التفاصيل الفنية وتوضيح أن هذا لا يمنع القدرة على تثبيت تطبيقات الكاميرا التابعة لجهات خارجية واستخدامها.

تم تصميم هذا لضمان معالجة البيانات الوصفية لموقع EXIF ​​بشكل صحيح بناءً على أذونات الموقع المحددة داخل التطبيق الذي يرسل الهدف.

لتلقي بيانات تعريف موقع EXIF ​​من تطبيق كاميرا النظام المثبت مسبقًا عند استخدام intents التي تحتوي على أحد إجراءات intent السابقة يجب أن يعلن التطبيق الخاص بك  ACCESS_MEDIA_LOCATION بالإضافة إلى   الإذن ACCESS_COARSE_LOCATION أو  ACCESS_FINE_LOCATION الإذن.

إذا كنت تريد تطبيق كاميرا خاصًا تابعًا لجهة خارجية للتعامل مع تطبيقك فيمكنك القيام بذلك عن طريق تحديد اسم حزمة تطبيق الكاميرا التابع لجهة خارجية بشكل صريح لتحقيق الغرض.

لا يؤثر هذا التغيير على قدرة المستخدمين على تثبيت واستخدام أي تطبيق كاميرا لالتقاط الصور أو مقاطع الفيديو مباشرة.

يمكن للمستخدم تعيين تطبيق كاميرا تابع لجهة خارجية باعتباره تطبيق الكاميرا الافتراضي.

هذا التغيير أيضا لا يؤثر على إجراءات intent لتطبيق الكاميرا الافتراضية المحددة من قبل المستخدم بما في ذلك:
  android.provider.MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA
أو
android.provider.MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE
أو  android.provider.MediaStore.INTENT_ACTION_VIDEO_CAMERA.
google-playkhamsatmostaqltradent