Home> مدونة

إعداد وضع الكشك لأندرويد: ما الذي يجب فعله عندما يمنعك مالك الجهاز من الوصول إلى الإعدادات

2026-09-11 09:09:05
إعداد وضع الكشك لأندرويد: ما الذي يجب فعله عندما يمنعك مالك الجهاز من الوصول إلى الإعدادات

أ لوحة تحكم أندرويد مقاس ١٠٫١ بوصة تم تهيئة الجهاز للاستخدام في الوضع المخصص (كشك) باستخدام أداة ADB، وواجهة تشغيل مخصصة، ووضع مالك الجهاز. وبعد إعادة التشغيل، انطلقت التطبيق كما كان متوقعًا، لكن الجهاز لم يعد قادرًا على الوصول إلى واجهة إعدادات أندرويد الاعتيادية.

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

استخدم العميل في البداية أوامر ADB لتعديل سلوك واجهة المستخدم النظامية:

adb shell settings put system hide_navbar 1

adb shell settings put system statusbar_disp 1

adb shell settings put system swipe_show_nav_bar 0

adb shell settings put system power_button_show 0

ثم عُيّن التطبيق كشاشة البداية الافتراضية، وبعدها تم تكوينه كـ مالك الجهاز لتمكين وظائف إدارة الأجهزة المطلوبة.

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

والسؤال الفوري لم يكن فقط كيف يمكن الخروج من التطبيق. بل احتاج العميل إلى وسيلة موثوقة لاستعادة جهاز لوحي بنظام أندرويد اللوحة للقيام باختبارات إضافية، وأراد أيضًا فهم أي أوامر النظام (Intents) يمكن أن يستخدمها تطبيقه.

لماذا أصبحت لوحة التحكم أندرويد صعبة الوصول إليها

نتجت المشكلة عن تطبيق عدة طبقات من تحكم الجهاز في الوقت نفسه.

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

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

وهذا يعني أن جهاز لوحي يعمل بنظام أندرويد ويُستخدم كجهاز كشك قد يصبح من الصعب استعادته عندما يُغيَّر مشغّل الشاشة الرئيسية وتكوين مالك الجهاز والقيود المفروضة على واجهة المستخدم النظامية وتنقّل التطبيق معًا.

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

2开发场景图.png

طرق الاستعادة لجهاز لوحي يعمل بنظام أندرويد ومُعيَّن ككشك مقفل

إذا كان التطبيق مُهيَّأً بالفعل كمالك جهاز، فيجب النظر أولًا في طرق الاستعادة البرمجية.

أندرويد مدير سياسة الجهاز يوفِّر وظائف لإدارة الأجهزة يمكن استخدامها من قِبل مالك الجهاز. وباعتمادٍ على إصدار نظام أندرويد وتكوين التطبيق، يجوز لتطبيق مالك الجهاز استخدام آلية مسح البيانات المناسبة لإعادة الجهاز اللوحي إلى حالة نظيفة تصلح للاختبار. مسح_البيانات() هي واجهة برمجة التطبيقات الراسخة لمسح بيانات المستخدم، بينما توفِّر إصدارات أندرويد الأحدث وظائف إضافية لمسح الجهاز.

القديمة إلغاء_تطبيق_مالك_الجهاز() يجب ألا يُعامل هذا الأسلوب كوسيلة عامة لاستعادة الإنتاج. وتوثِّق وثائق نظام أندرويد هذه الوظيفة باعتبارها واجهة برمجية موجَّهة للاختبار، وتوصي بإعادة ضبط المصنع كالطريقة الاعتيادية لإزالة علاقة مالك الجهاز.

توفر أداة ADB أيضًا أوامر لإدارة سياسات الجهاز، لكن هذه الأوامر تخضع لقيود معينة. فعلى سبيل المثال، adb shell dpm remove-active-admin ليست وسيلة شاملة لإزالة مالك الجهاز؛ إذ تحدِّد وثائق أداة ADB الرسمية شروطًا معيَّنة، مثل إعلان التطبيق كـ testOnly في ملف التكوين الخاص به.

وإذا تعذَّر الاسترجاع البرمجي لأن التطبيق غير قادر على تنفيذ العملية المطلوبة، فإن الخيار المتبقي هو إجراء إعادة ضبط مصنع باستخدام الأجهزة أو اتباع إجراء استعادة أندرويد .

3流程图.png

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

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

اختبار نوايا الإعدادات والوظائف النظامية على لوحي أندرويد

كان السؤال الثاني للعميل هو ما إذا كان بالإمكان تشغيل الوظائف النظامية مثل الإعدادات وشبكة الواي فاي مباشرةً من التطبيق.

توفر منصة أندرويد إجراءات إعدادات قياسية لهذه الوظائف. ومن الأمثلة على ذلك:

الوظيفة

نوايا أندرويد القياسية

الإعدادات الرئيسية

Settings.ACTION_SETTINGS

إعدادات الواي فاي

Settings.ACTION_WIFI_SETTINGS

إعدادات لاسلكية

Settings.ACTION_WIRELESS_SETTINGS

إعدادات بلوتوث

Settings.ACTION_BLUETOOTH_SETTINGS

إعدادات العرض

Settings.ACTION_DISPLAY_SETTINGS

إعدادات الموقع

Settings.ACTION_LOCATION_SOURCE_SETTINGS

إعدادات الصوت

Settings.ACTION_SOUND_SETTINGS

إعدادات الأمان

Settings.ACTION_SECURITY_SETTINGS

إعدادات التطبيقات

إعدادات.إجراء_إعدادات_التطبيق

إعدادات التطبيق المحددة

إعدادات.إدخال_إعدادات_تفاصيل_التطبيق

 

هذه إجراءات إعدادات أندرويد قياسية وليست واجهات مخصصة لشركة مصنعة معينة لأجهزة لوحيّة أندرويد . ومع ذلك، فإن وجود إنترنت لا يضمن فتحه بنجاح على كل جهاز أو في كل تكوين كشك. وتوصي أندرويد بالتحقق من الإنترنت باستخدام الدالة حل_النشاط() قبل إطلاقه.

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

4流程图(1).png

إذا كنت تعمل على مشروع لوحي أندرويد مخصص أو تكامل نظام وتحتاج مساعدة في استعادة وضع مالك الجهاز، أو أوامر الإعدادات (Settings Intents)، أو مشكلات التهيئة ذات الصلة، فيُرجى التواصل معنا مُرفقًا طراز اللوحي والإصدار المستخدم من نظام أندرويد. ويمكننا حينها مناقشة خيارات الدعم الفني المتاحة والتعديلات المخصصة.

 

ينطبق المبدأ نفسه على وظائف النظام الأخرى. فقد توجد واجهة برمجية قياسية لأندرويد (Android API)، لكن السلوك الفعلي للوحي المُعدّل يعتمد على إصدار أندرويد المثبت عليه، وتكوين البرمجيات الثابتة (firmware)، وسياسات إدارة الأجهزة.

وماذا عن طلبات الاستيقاظ؟

سؤال العميل حول «طلبات الاستيقاظ» يختلف قليلًا عن فتح صفحة الإعدادات.

Intent.ACTION_SCREEN_ON يمثّل هذا بثًّا نظاميًّا يشير إلى أن الشاشة أصبحت تفاعلية. وهو بثٌّ نظامي محمي، لذا لا ينبغي للتطبيق اعتباره أمرًا عاديًّا يمكنه إرساله ببساطة لتنشيط اللوحي.

إذا كانت المتطلبات تشمل تنشيط الشاشة، أو منع إطفائها تلقائيًّا، أو التحكم في سلوك تشغيل الشاشة يعتمد الأسلوب المناسب على متطلبات التطبيق المحددة. وتوفّر منصة أندرويد واجهات برمجية لإدارة الطاقة وإدارة النوافذ/الأنشطة لهذه السيناريوهات، ومن بينها PowerManager والوظائف الخاصة بإبقاء الجهاز مستيقظًا (wake-lock) عند الحاجة.

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

5具体场景ui图.png

الدعم الفني لدمج أجهزة لوحيّة تعمل بنظام أندرويد

ويوضح هذا المثال أيضًا سبب اشتراط نشر أنظمة الكشك (kiosk) أكثر من مجرد تكوين الأجهزة الأساسي لأجهزة اللوحية العاملة بأندرويد.

فعند دمج جهاز لوحي في تطبيق مخصص أو نظام نقطة بيع (POS) أو كشك أو نظام صناعي أو أي جهاز خاضع للإدارة، فقد يشمل تكوين البرنامج: واجهة التشغيل الافتراضية (launcher)، ووضع مالك الجهاز (Device Owner)، وواجهة المستخدم النظامية (system UI)، وأذونات التطبيق، ونوايا الإعدادات (Settings Intents)، وسلوك الاسترجاع (recovery behavior) في آنٍ واحد.

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

يعتمد الحلّ المناسب على إصدار نظام أندرويد وبرنامج الجهاز الثابت للوحي وإعدادات التطبيق والوظائف التي يحتاج مُدمِج النظام إلى التحكّم فيها. كما يمكن إعداد وثائق فنية حول واجهات النظام المتاحة والمقاصد (Intents) المدعومة والأذونات والقيود الخاصة بالجهاز.

إذا كنت تختبر جهازًا جهاز لوحي بنظام أندرويد لنشر الوضع المخصص (kiosk) أو دمج الأنظمة وتواجه مشاكل مماثلة مع المالك المُعيَّن للجهاز (Device Owner)، وبرامج التشغيل المخصصة (custom launchers)، ووضع الكشك (kiosk mode)، ومقاصد الإعدادات (Settings Intents)، وتقييدات واجهة المستخدم النظامية (system UI restrictions)، أو استعادة الجهاز (device recovery) ، لو سمحت اتصل بنا للحصول على الدعم الفني .

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