خطأ في التوثيق: تتلقى أجهزة استقبال البث المسجلة بيانات نوايا ACTION_SHUTDOWN في Android 8.0

click fraud protection

تقتصر أهداف البث المسجلة الواضحة على عدد قليل فقط في Android Oreo، وACTION_SHUTDOWN ليس واحدًا منها، أم أنه كذلك؟

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

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

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

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

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