إبقاء تطبيقك مرئيًا على Wear

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

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

إنّ إظهار التطبيق بشكل مستمر يؤثر في عمر البطارية، لذا يجب مراعاة هذا التأثير عند إضافة هذه الميزة إلى تطبيقك.

ضبط المشروع

لتفعيل "وضع الإضاءة السينمائية"، اتّبِع الخطوات التالية:

  1. يمكنك إنشاء مشروعك أو تحديثه بناءً على الإعدادات في صفحة إنشاء تطبيق قابل للارتداء وتشغيله.
  2. إضافة إذن WAKE_LOCK إلى ملف بيان Android:
<uses-permission android:name="android.permission.WAKE_LOCK" />

تفعيل وضع التشغيل الدائم

لاستخدام الصف AmbientLifecycleObserver، يُرجى اتّباع الخطوات التالية:

  1. نفِّذ واجهة AmbientLifecycleObserver.AmbientLifecycleCallback، كما هو موضّح في المثال التالي. في هذه المرحلة، تكون الطرق فارغة، ولكن في وقت لاحق من الدليل، يعرض الدليل تفاصيل عن التغييرات التي يجب التأكد من إجرائها على التمثيل البصري للدخول إلى وضع الصوت المحيط والخروج منه.

    Kotlin

        val ambientCallback = object : AmbientLifecycleObserver.AmbientLifecycleCallback {
          override fun onEnterAmbient(ambientDetails: AmbientLifecycleObserver.AmbientDetails) {
            // ... Called when moving from interactive mode into ambient mode.
          }
    
          override fun onExitAmbient() {
            // ... Called when leaving ambient mode, back into interactive mode.
          }
    
          override fun onUpdateAmbient() {
            // ... Called by the system in order to allow the app to periodically
            // update the display while in ambient mode. Typically the system will
            // call this every 60 seconds.
          }
        }
        
  2. أنشِئ AmbientLifecycleObserver وسجِّل المراقب. سيتم عادةً استخدام هذه السياسة في onCreate() أو في الجزء الأعلى من المحتوى عند استخدام ميزة "الكتابة" لنظام التشغيل Wear OS، للسماح بتفعيل سلوك "قيد التشغيل دائمًا" طوال مراحل النشاط.

    Kotlin

    private val ambientObserver = AmbientLifecycleObserver(activity, callback)
    
    override fun onCreate(savedInstanceState: Bundle) {
      super.onCreate(savedInstanceState)
      lifecycle.addObserver(observer)
    
      // ...
    }
    
  3. يمكنك إزالة المراقب من خلال طلب الرقم removeObserver()، عندما لا يكون سلوك الوضع الدائم غير مطلوب. على سبيل المثال، يمكنك استدعاء هذه الطريقة في طريقة onDestroy() الخاصة بنشاطك.

تعديل المظهر المرئي في "وضع الإضاءة السينمائية"

بشكل تلقائي، عند تفعيل وضع "التشغيل دائمًا"، لا تغيّر الشاشة مظهرها عندما تدخل الساعة في "وضع الإضاءة السينمائية". ويمكنك تعديل هذا السلوك من خلال إلغاء الطرق الواردة في AmbientLifecycleCallback.

للمساعدة في الحفاظ على الطاقة، نفِّذ ما يلي:

  • يساعد على إضاءة وحدات بكسل أقل وترك معظم الشاشة باللون الأسود. وننصحك بعرض المعلومات المهمة فقط في "وضع الإضاءة السينمائية" وتقديم مزيد من التفاصيل عندما ينتقل المستخدم إلى "وضع التفاعل".
  • اضبط أي محتوى للحصول على التحديثات الأقل تكرارًا. على سبيل المثال، يمكنك عرض الموقّتات إلى أقرب دقيقة بدلاً من أقرب ثانية.
  • في العنصر AmbientDetails الذي تم تمريره إلى onEnterAmbient():
    • إذا تم ضبط deviceHasLowBitAmbient، عليك إيقاف تشويش التشويش متى أمكن.
    • في حال ضبط السمة burnInProtectionRequired، يجب تغيير نطاق التمثيل البصري بشكل دوري وتجنُّب المناطق البيضاء الخالصة.

عند استخدام ميزة "الكتابة" على نظام التشغيل Wear OS، ننصحك باستخدام طُرق معاودة الاتصال هذه لتعديل الحالة، ما يتيح للنظام إعادة إنشاء واجهة المستخدم بشكل مناسب.

للحصول على أمثلة حول كيفية تحقيق ذلك، اطّلع على الموارد التالية:

  • بالنسبة إلى ميزة "الكتابة على نظام التشغيل Wear OS": اطّلِع على نموذج AlwaysOnKotlin المستنِد إلى الإنشاء على GitHub والذي يتيح استخدام AmbientAware التي تم إنشاؤها من مكتبة Horologist.
  • للمشاهدات: اطّلِع على نموذج AlwaysOnKotlin المستند إلى المشاهدات على GitHub.