إنشاء خدمة لخلفية شاشة الساعة

خلفية شاشة الساعة هي خدمة في تطبيق Wear OS. عندما يختار المستخدم خلفية شاشة ساعة متاحة، يتم عرض خلفية شاشة الساعة يتم استدعاء طرق معاودة الاتصال بالخدمة.

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

توضّح هذه الصفحة طريقة إعداد مشروع Wear OS ليشمل خلفيات شاشة الساعة. لتنفيذ خدمة خلفية شاشة ساعة.

إنشاء مشروع لخلفية شاشة الساعة

ملاحظة: ننصحك باستخدام استوديو Android لتطوير نظام التشغيل Wear OS. وتوفر إعداد المشروع وإدراج المكتبة ووسائل الراحة للتغليف.

أكمِل الخطوات التالية إنشاء مشروع في "استوديو Android" لخلفية شاشة الساعة:

  1. انقر على ملف >. جديد > مشروع جديد:
  2. في نافذة اختيار نموذج مشروع، اختَر علامة تبويب Wear، ثم اختَر خلفية شاشة الساعة من قائمة الخيارات وانقر على التالي.
  3. في نافذة إعداد مشروعك، اقبل القيم الافتراضية وانقر على إنهاء.

ينشئ "استوديو Android" مشروعًا باستخدام وحدة app لخدمة خلفية شاشة الساعة.

التبعيات

يضيف "استوديو Android" الموارد التابعة المطلوبة تلقائيًا في build.gradle الملفات. المضمنة في التبعيات هي نظام التشغيل AndroidX مكتبة خلفيات شاشة الساعة اطّلِع على نموذج التعليمات البرمجية على GitHub للاطّلاع على تفاصيل حول هذه المكتبة.

مرجع واجهة برمجة تطبيقات مكتبة الدعم القابل للارتداء

توفّر الوثائق المرجعية معلومات مفصّلة حول الفئات التي تستخدمها لتطبيق خلفيات شاشة الساعة. تصفُّح مرجع واجهة برمجة التطبيقات لمكتبة الدعم للجهاز القابل للارتداء.

تضمين الأذونات في بيان الأذونات

يجب الحصول على إذن "WAKE_LOCK" لخلفية شاشة الساعة. أضِف الإذن التالي إلى ملفات البيان لكل من تطبيق Wear OS. وتطبيق الهاتف الجوّال ضمن العنصر manifest:

<manifest ...>
    <uses-permission
        android:name="android.permission.WAKE_LOCK" />

    <!-- Required for complications to receive complication data and open the provider chooser. -->
    <uses-permission
        android:name="com.google.android.wearable.permission.RECEIVE_COMPLICATION_DATA"/>
    ...
</manifest>

التمهيد المباشر لدعم

يجب إتاحة خلفية شاشة الساعة قبل فتح قفل المستخدم من خلال اتّباع إرشادات التشغيل المباشر:

  1. ضبط سمة android:directBootAware على true لخدمتك في البيان.
  2. يجب أن تخزِّن خلفية شاشة الساعة المعلومات باللغة . مساحة تخزين مشفّرة على الجهاز.

تنفيذ الخدمة وطرق معاودة الاتصال

يتم تنفيذ خلفيات شاشة الساعة في نظام التشغيل Wear OS بشكل WatchFaceService يتطلّب تنفيذ WatchFaceService إنشاء ثلاثة عناصر: UserStyleSchema وComplicationSlotsManager و WatchFace

ويتم تحديد هذه الكائنات الثلاثة من خلال تجاوز ثلاث طرق مجردة من WatchFaceService، كما هو موضَّح في المثال التالي:

Kotlin

class CustomWatchFaceService : WatchFaceService() {

    /**
     * The specification of settings the watch face supports.
     * This is similar to a database schema.
     */
    override fun createUserStyleSchema(): UserStyleSchema = // ...

    /**
     * The complication slot configuration for the watchface.
     */
    override fun createComplicationSlotsManager(
        currentUserStyleRepository: CurrentUserStyleRepository
    ): ComplicationSlotsManager = // ...

    /**
     * The watch face itself, which includes the renderer for drawing.
     */
    override suspend fun createWatchFace(
        surfaceHolder: SurfaceHolder,
        watchState: WatchState,
        complicationSlotsManager: ComplicationSlotsManager,
        currentUserStyleRepository: CurrentUserStyleRepository
    ): WatchFace = // ...

}

تسجيل خدمة خلفية شاشة الساعة

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

يعرض النموذج التالي كيفية تسجيل تنفيذ خلفية شاشة الساعة. ضمن العنصر <application>:

<service
    android:name=".AnalogWatchFaceService"
    android:label="@string/analog_name"
    android:permission="android.permission.BIND_WALLPAPER" >
    <meta-data
        android:name="android.service.wallpaper"
        android:resource="@xml/watch_face" />
    <meta-data
        android:name="com.google.android.wearable.watchface.preview_circular"
        android:resource="@drawable/preview_analog_circular" />
    <intent-filter>
        <action android:name="android.service.wallpaper.WallpaperService" />
        <category
            android:name=
            "com.google.android.wearable.watchface.category.WATCH_FACE" />
    </intent-filter>
</service>

يستخدم كل من التطبيق المصاحب "Wear OS من Google" وأداة اختيار خلفية شاشة الساعة على الجهاز القابل للارتداء المعاينة. الصورة التي تم تحديدها من خلال إدخال البيانات الوصفية com.google.android.wearable.watchface.preview_circular عند لتزويد المستخدمين بجميع خلفيات شاشة الساعة المثبتة على الجهاز. للحصول على هذا القابل للرسم، تشغيل خلفية شاشة الساعة على جهاز Wear OS أو في محاكي خُذ لقطة شاشة. على Wear للأجهزة ذات شاشات hdpi، فإن حجم صورة المعاينة يكون عادةً 320×320 بكسل.

يحدّد إدخال البيانات الوصفية للسمة android.service.wallpaper ملف الموارد watch_face.xml، الذي يحتوي على wallpaper كما هو موضح في النموذج التالي:

<?xml version="1.0" encoding="UTF-8"?>
<wallpaper xmlns:android="http://schemas.android.com/apk/res/android" />

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

يمكنك الاطّلاع على المراجع التالية ذات الصلة: