هل يستغرق مربع حوار مستوى الصوت في Android وقتًا طويلاً حتى يختفي؟ هذا هو السبب.

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

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

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

المشكلة

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

الاعتمادات: /ش/ConeCandy

موضوع شائع على موقع Reddit /r/GooglePixel كان لدى subreddit العديد من المستخدمين يشيرون إلى أنهم يواجهون هذه المشكلة. ومع ذلك، لم يكن الجميع يواجه هذه المشكلة. ذكر بعض المستخدمين أن مربعات حوار مستوى الصوت الخاصة بهم ظلت على الشاشة لمدة 3 ثوانٍ فقط، وهو السلوك الطبيعي. إذن ما الذي كان يسبب هذه المشكلة؟ بالنسبة لمعظم المستخدمين في هذا الموضوع، اتضح أن السبب هو تطبيق يسمى Signal Spy - على الرغم من أن بعض المستخدمين في هذا الموضوع قالوا إن تطبيقات أخرى كانت تسبب هذا السلوك أيضًا.

Signal Spy - شارع مونيتور سيجنالمطور: نوففيا

مجاني.

3.9.

تحميل

Signal Spy هو تطبيق شائع بين المشتركين في خدمة Google Project Fi. يحب مستخدمو Project Fi التطبيق لأنه يدعم تحليل اتصال الشبكة الحالي لديك ويدعم التبديل التلقائي بين Sprint وT-Mobile. أفضل جزء؟ لا يحتاج إلى الوصول إلى الجذر للتبديل بين الشبكات. يستخدم Signal Spy خدمة إمكانية الوصول (خدمة تستخدم واجهات برمجة تطبيقات إمكانية الوصول الخاصة بنظام Android والتي تُستخدم عادةً لمساعدة المستخدمين ذوي الإعاقة ولكنها تُستخدم أيضًا في مئات التطبيقات العادية) للتبديل تلقائيًا بين شركات الاتصالات عن طريق إدخال رمز الاتصال الاختصارات.

تعد قدرة Signal Spy على التبديل تلقائيًا بين شركات الاتصالات على Project Fi مفيدة بشكل لا يصدق، ولكنها أيضًا سبب حدوث مشكلة حوار مستوى الصوت في Android. العامل المشترك بين Signal Spy والتطبيقات الأخرى مثل LastPass وFingerprint Gestures وZoho Vault وAmazon Assistant والتطبيقات الأخرى التي تتسبب في حدوث هذه المشكلة هو أنها استخدام خدمة إمكانية الوصول. يعد الانتقال إلى الإعدادات -> إمكانية الوصول وإيقاف تشغيل كل خدمة إمكانية الوصول واحدة تلو الأخرى إحدى الطرق لحل هذه المشكلة. لماذا إذن تتسبب خدمات إمكانية الوصول لبعض التطبيقات فقط في حدوث هذه المشكلة؟ تاسكرعلى سبيل المثال، لا يواجه هذه المشكلة ولا يواجهها أيضًا مشكلتنا الخاصة إيماءات التنقل برنامج. أنت والعديد من الآخرين على جوجل مشكلة المتعقب قد يعتقد أنه خطأ، لكنه في الواقع ليس كذلك - إنه حسب التصميم تمامًا.

الشرح

كما اكتشفنا أثناء تطوير تطبيق Navigation Gestures، تنشأ المشكلة عندما تحتوي خدمة إمكانية الوصول على إمكانية الوصولFeedbackType ضبط ل أي شيء آخر غير FEEDBACK_GENERIC. عندما نقوم بتعيين خدمة إمكانية الوصول لدينا لاستخدام FEEDBACK_HAPTIC، سيظل مربع حوار مستوى الصوت معروضًا على الشاشة لمدة 20 ثانية. عندما قمنا بتعيينه على FEEDBACK_GENERIC، يظل مربع حوار مستوى الصوت معروضًا على الشاشة لمدة 3 ثوانٍ.

سبب حدوث ذلك هو وجود طريقتين في تنفيذ الحوار حجم في AOSP. الطريقة الأولى التي تسمى computeFeedbackEnabled تتحقق لمعرفة ما إذا كانت هناك أي خدمات إمكانية وصول ممكّنة "غير عامة". إذا كان صحيحًا، فسيتم تعيين mFeedbackEnabled المنطقي على صواب. في الطريقة الثانية، computeTimeoutH، إذا أعاد mFeedbackEnabled القيمة true، فسيتم تعيين مهلة مربع حوار مستوى الصوت على 20 ثانية، وإلا فسيتم تعيينها على 3 ثوانٍ.

هؤلاءطُرق تمت إضافتها في إصدار Android 6.0 Marshmallow، وبالتالي تؤثر مشكلة حوار الصوت هذه على جميع إصدارات Android منذ Android Marshmallow، بما في ذلك Android Nougat وAndroid Oreo وAndroid Pie. نحن لسنا متأكدين تماما لماذا تمت إضافة هذه الأساليب لأن أوصاف الالتزام لم تكن واضحة. إذا اضطررت إلى المخاطرة بتخمين سبب وجود هذا السلوك، فسأقول إنه لمساعدة المستخدمين بشكل مؤكد تتعامل الإعاقات مع مربع حوار مستوى الصوت باستخدام الصوت أو المدخلات الأخرى لأن المهلة الافتراضية البالغة 3 ثوانٍ قصيرة جدًا بالنسبة لهم. إذا اكتشف Android أن أحد المستخدمين يستخدم خدمة إمكانية الوصول من نوع معين، فإنه يقوم تلقائيًا بتمديد فترة بقاء مربع حوار مستوى الصوت بحيث يكون لدى المستخدم فرصة أفضل للتفاعل معها. بغض النظر، فمن الواضح أن هذه المسألة ليس خطأ ولكن بالأحرى تماما من تصمبم. لسوء الحظ، هذا يعني أنه لا يوجد "حل" للمشكلة خارج نطاق إقناع Google بالتغيير هذا القرار أو إقناع مطوري التطبيقات بعدم استخدام أنواع التعليقات غير العامة في إمكانية الوصول الخاصة بهم خدمات.

لقد أكد مطورو Signal Spy بالفعل أنهم قاموا بإصلاح المشكلة في الإصدار التجريبي التالي، لذلك إذا واجهت المشكلة وأردت معرفة ما إذا تم حلها أم لا، ينبغي توجيه مطوري التطبيقات نحو هذه المقالة حتى يكونوا على دراية بالمشكلة (كما لا يعلم الكثيرون). إذا قام إصدار مستقبلي من Android بتغيير هذا السلوك، فسنسمح لك جميعًا يعرف. على الأقل أنت الآن على علم بهذه المشكلة وأسبابها، حتى تتمكن من معرفة التطبيقات التي تسبب هذه المشكلة بالنسبة لك.