หน้าปัดคือบริการ เป็นแพ็กเกจในแอป 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
ที่แสดงในตัวอย่างต่อไปนี้
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 ของแอปอุปกรณ์ที่สวมใส่ได้สำหรับการใช้งานหน้าปัดแต่ละรายการ
แหล่งข้อมูลที่เกี่ยวข้อง
โปรดดูแหล่งข้อมูลที่เกี่ยวข้องต่อไปนี้