หน้าปัดคือบริการ เป็นแพ็กเกจในแอป Wear OS เมื่อผู้ใช้เลือกหน้าปัดที่ใช้ได้ หน้าปัดจะปรากฏขึ้น และ มีการเรียกใช้ Method Callback ของบริการ
เมื่อผู้ใช้ติดตั้งแอป Wear ที่มีหน้าปัด นาฬิกา ใบหน้าต่างๆ พร้อมใช้งานบนนาฬิกาโดยใช้ตัวเลือกหน้าปัด หรือผู้ใช้สามารถเลือกหน้าปัดจากแอปที่ใช้ร่วมกันในโทรศัพท์ที่จับคู่ไว้ก็ได้
หน้านี้อธิบายวิธีกำหนดค่าโปรเจ็กต์ Wear OS ให้รวมหน้าปัดและวิธี เพื่อใช้บริการหน้าปัด
สร้างโปรเจ็กต์หน้าปัด
หมายเหตุ: เราขอแนะนำให้ใช้ Android Studio สำหรับการพัฒนา Wear OS เนื่องจาก ช่วยในการจัดทำโครงการ รวมห้องสมุด และอำนวยความสะดวกในการบรรจุหีบห่อ
ทำตามขั้นตอนต่อไปนี้เพื่อ สร้างโปรเจ็กต์ ใน Android Studio สำหรับหน้าปัดของคุณ
- คลิกไฟล์ > ใหม่ > โปรเจ็กต์ใหม่
- ในหน้าต่างเลือกเทมเพลตโปรเจ็กต์ ให้เลือก ในแท็บ Wear แล้วเลือก Watch Face จากรายการตัวเลือกและคลิก Next
- ในหน้าต่างกำหนดค่าโปรเจ็กต์ ให้ยอมรับ ค่าเริ่มต้นแล้วคลิก Finish
Android Studio สร้างโปรเจ็กต์ที่มีโมดูล app
สำหรับบริการหน้าปัดของคุณ
การขึ้นต่อกัน
Android Studio จะเพิ่มทรัพยากร Dependency ที่จำเป็นใน build.gradle
โดยอัตโนมัติ
สิ่งที่รวมอยู่ในทรัพยากร Dependency คือ
AndroidX
คลังหน้าปัด โปรดดู
ตัวอย่างโค้ดใน GitHub เพื่อดูรายละเอียดเกี่ยวกับไลบรารีนี้
เอกสารอ้างอิง API ไลบรารีการสนับสนุนอุปกรณ์ที่สวมใส่ได้
เอกสารประกอบอ้างอิงจะให้ข้อมูลโดยละเอียดเกี่ยวกับชั้นเรียนที่คุณใช้เพื่อ โดยใช้หน้าปัด เรียกดู เอกสารอ้างอิง API เอกสารประกอบสำหรับไลบรารีการสนับสนุนของอุปกรณ์ที่สวมใส่ได้
ประกาศสิทธิ์
หน้าปัดต้องได้รับสิทธิ์ WAKE_LOCK
เพิ่มสิทธิ์ต่อไปนี้ลงในไฟล์ Manifest ของทั้งแอป 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>
รองรับการเปิดเครื่องโดยตรง
คุณต้องทำให้หน้าปัดใช้งานได้ก่อนการปลดล็อกผู้ใช้ โดยทําตาม คำแนะนำสำหรับการเปิดเครื่องโดยตรงมีดังนี้
- ตั้งค่าแอตทริบิวต์
android:directBootAware
เป็นtrue
สำหรับบริการใน ไฟล์ Manifest - หน้าปัดของคุณควรจัดเก็บข้อมูลเป็นภาษา พื้นที่เก็บข้อมูลที่เข้ารหัสของอุปกรณ์
นำบริการและวิธีการติดต่อกลับ
หน้าปัดใน Wear OS มีการใช้งานเป็น
WatchFaceService
การใช้ WatchFaceService
จำเป็นต้องมีการสร้างออบเจ็กต์ 3 รายการ ได้แก่
UserStyleSchema
, ComplicationSlotsManager
และ
WatchFace
วัตถุทั้ง 3 ชิ้นนี้ระบุโดยการลบล้างเมธอดนามธรรม 3 แบบจาก
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 = // ... }
ลงทะเบียนบริการหน้าปัด
หลังจากใช้บริการหน้าปัดแล้ว ให้ลงทะเบียนการใช้งานในไฟล์ Manifest ของแอปอุปกรณ์ที่สวมใส่ได้ เมื่อผู้ใช้ติดตั้งแอปนี้ ระบบจะใช้ข้อมูลเกี่ยวกับ บริการเพื่อทำให้หน้าปัดพร้อมใช้งานใน แอปที่ใช้ร่วมกันกับ 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 by Google และตัวเลือกหน้าปัดในอุปกรณ์ที่สวมใส่ได้จะใช้การแสดงตัวอย่าง
รูปภาพที่กำหนดโดยรายการข้อมูลเมตาของ com.google.android.wearable.watchface.preview_circular
เมื่อ
นำเสนอให้ผู้ใช้เห็นหน้าปัดทั้งหมดที่ติดตั้งในอุปกรณ์ เพื่อให้ได้แบบที่ถอนออกได้นี้
เรียกใช้หน้าปัดบนอุปกรณ์ Wear OS หรือในอินสแตนซ์โปรแกรมจำลองและ
ถ่ายภาพหน้าจอ บน Wear
อุปกรณ์ที่มีหน้าจอ hdpi รูปภาพตัวอย่างมักจะมีขนาด 320x320 พิกเซล
รายการข้อมูลเมตา android.service.wallpaper
จะระบุ
ไฟล์ทรัพยากร watch_face.xml
ซึ่งมี wallpaper
ดังที่ปรากฏในตัวอย่างต่อไปนี้
<?xml version="1.0" encoding="UTF-8"?> <wallpaper xmlns:android="http://schemas.android.com/apk/res/android" />
แอปสำหรับอุปกรณ์สวมใส่อาจมีหน้าปัดมากกว่า 1 แบบ คุณต้องเพิ่มรายการบริการลงใน ไฟล์ Manifest ของแอปอุปกรณ์ที่สวมใส่ได้สำหรับการใช้งานหน้าปัดแต่ละรายการ
แหล่งข้อมูลที่เกี่ยวข้อง
โปรดดูแหล่งข้อมูลที่เกี่ยวข้องต่อไปนี้