แอป IOT ช่วยให้ผู้ใช้สามารถดำเนินการที่เกี่ยวข้องในอุปกรณ์ที่เชื่อมต่อจากภายใน รถยนต์ ตัวอย่างเช่น การควบคุมสถานะของอุปกรณ์บางอย่าง เช่น การเปิดประตูโรงรถ การเปิดสวิตช์ไฟในบ้าน หรือการรักษาความปลอดภัยในบ้าน
ประกาศการรองรับหมวดหมู่ในไฟล์ Manifest
แอปของคุณต้องประกาศ androidx.car.app.category.IOT
หมวดหมู่แอปสำหรับรถยนต์ในความตั้งใจ
ของตัวกรอง CarAppService
<application>
...
<service
...
android:name=".MyCarAppService"
android:exported="true">
<intent-filter>
<action android:name="androidx.car.app.CarAppService" />
<category android:name="androidx.car.app.category.IOT"/>
</intent-filter>
</service>
...
<application>
ใช้ฟังก์ชันของแอป
หากต้องการติดตั้งใช้งานแอป โปรดไปที่ การใช้ไลบรารีแอป Android สำหรับรถยนต์เกี่ยวกับวิธีการที่แอปรถยนต์ เราสร้างแอปห้องสมุดขึ้นมา นอกจากนี้ อย่าลืมทำความคุ้นเคยกับ หลักเกณฑ์ด้านคุณภาพของแอปรถยนต์สำหรับแอป IOT เนื่องจากแอปจะได้รับการตรวจสอบตามหลักเกณฑ์เหล่านี้
สำหรับแอป IOT GridTemplate
เป็นวิธีที่ดีในการแสดงรายการอุปกรณ์และทำให้ผู้ใช้
โต้ตอบกับผู้ใช้ ดังที่แสดงในตัวอย่างต่อไปนี้
Kotlin
val listBuilder = ItemList.Builder() listBuilder.addItem( GridItem.Builder() .setTitle("Garage door") .setImage(...) // Handle user interactions .setOnClickListener {...} .build() ) listBuilder.addItem( GridItem.Builder() .setTitle("Garage lights") // Show a loading indicator until the status of the device is known // (call invalidate() when the status is known to refresh the screen) .setLoading(true) .build() ) return GridTemplate.Builder() .setTitle("Devices") .setHeaderAction(Action.APP_ICON) .setSingleList(listBuilder.build()) .build()
Java
ItemList.Builder listBuilder = new ItemList.Builder(); listBuilder.addItem( new GridItem.Builder() .setTitle("Garage door") .setImage(...) // Handle user interactions .setOnClickListener(() -> {...}) .build() ); listBuilder.addItem( new GridItem.Builder() .setTitle("Garage lights") // Show a loading indicator until the status of the device is known // (call invalidate() when the status is known to refresh the screen) .setLoading(true) .build() ); return new GridTemplate.Builder() .setTitle("Devices") .setHeaderAction(Action.APP_ICON) .setSingleList(listBuilder.build()) .build();