ScreenOnAuto

التحكم في النسخ المطابق من تطبيق آخر

منذ الإصدار v1.8.4 يقبل ScreenOnAuto ثلاثة Intents تبدأ النسخ المطابق أو توقفه أو تبدّل حالته. وأي شيء قادر على إرسال Intent — تطبيق أتمتة، اختصار على الشاشة الرئيسية، سكربت عبر ADB، أو تطبيق من صنعك — يمكنه التحكم بالنسخ المطابق عبرها، فيبدأ مع بقية إعدادات قيادتك بدلًا من تشغيله يدويًا.

الإجراءات الثلاثة

الإجراء ما يفعله
idv.lzn.screenonauto.action.START_MIRROR يبدأ النسخ المطابق. لا يفعل شيئًا إن كان يعمل أصلًا.
idv.lzn.screenonauto.action.STOP_MIRROR يوقف النسخ المطابق. لا يفعل شيئًا إن لم يكن يعمل.
idv.lzn.screenonauto.action.TOGGLE_MIRROR يوقفه إن كان يعمل، ويبدأه إن لم يكن.

تكرار الإجراء آمن دائمًا. فالبدء المُرسَل إلى نسخ مطابق يعمل بالفعل يُتجاهَل بدل هدم الجلسة وإعادة بنائها، أي أن شيئًا يُطلَق عند كل اتصال بلوتوث لن يقطع نسخًا مطابقًا قائمًا.

في تطبيق أتمتة

معظم تطبيقات الأتمتة تعرض العناصر نفسها بمسمياتها الخاصة — عادةً إجراء «إرسال Intent» (Send Intent) بحقول على هذا النحو:

الحقل القيمة
Action أحد الإجراءات الثلاثة أعلاه
Package idv.lzn.screenonauto
Class idv.lzn.screenonauto.MirrorControlActivity (أو …MirrorControlReceiver للبث)
Target Activity (أو Broadcast)

استخدم Activity ما لم يكن لديك سبب لغير ذلك — القسمان التاليان يشرحان الفرق، ولماذا لا يمكن الاعتماد على البث لبدء النسخ المطابق. وفي الحالتين حقل Class ليس اختياريًا: إن تركته فارغًا فلن يصل البث إطلاقًا.

إن لم يعمل شيء ما، جرّب أولًا أمر ADB المقابل أدناه. فهو يخبرك ما إذا كانت المشكلة في الـ Intent نفسها أم في التطبيق الذي يرسلها.

بدء نشاط (مستحسن)

أرسل الإجراء إلى idv.lzn.screenonauto/.MirrorControlActivity بوصفه نشاطًا (activity):

adb shell am start -a idv.lzn.screenonauto.action.START_MIRROR \
  -n idv.lzn.screenonauto/.MirrorControlActivity

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

ℹ️ ملاحظة لا يزال Android يطلب إذن تسجيل الشاشة عند بدء النسخ المطابق. ولجعل الأمر بلا تدخل يدوي فعلًا، امنح الإذن مسبقًا مرة واحدة عبر ADB — انظر منح إذن النسخ المطابق عبر ADB.

إرسال بث

تعمل الإجراءات الثلاثة نفسها بوصفها بثًا أيضًا، تُرسَل إلى idv.lzn.screenonauto/.MirrorControlReceiver:

adb shell am broadcast -a idv.lzn.screenonauto.action.STOP_MIRROR \
  -n idv.lzn.screenonauto/.MirrorControlReceiver

الإيقاف المُرسَل بهذه الطريقة صامت تمامًا — بلا نافذة وبلا ومضة.

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

⚠️ تحذير البدء المُرسَل بوصفه بثًا غير موثوق، وحين يفشل يفشل بصمت. ويجب السماح بأمرين أولًا، وكلاهما معطَّل افتراضيًا في كثير من الهواتف:

إن كنت تحتاج البدء فقط، فاستخدم النشاط أعلاه — فهو لا يحتاج أيًّا منهما.

استكشاف الأخطاء

آخر تحديث: