หน้านี้จะอธิบายวิธีติดตั้งไลบรารีแอปในรถยนต์และวิธีกำหนดค่าไฟล์ Manifest สำหรับแอป
ติดตั้งไลบรารีแอปในรถยนต์
หากต้องการเพิ่มไลบรารีลงในแอป โปรดดูหน้าเผยแพร่ไลบรารี Jetpack release page
กำหนดค่าไฟล์ Manifest ของแอป
คุณต้องกำหนดค่าไฟล์ Manifest ของแอปก่อนจึงจะสร้างแอปในรถยนต์ได้
ประกาศ CarAppService
โฮสต์จะเชื่อมต่อกับแอปของคุณผ่านการใช้งาน CarAppService
คุณประกาศบริการนี้ในไฟล์ Manifest เพื่อให้โฮสต์ค้นพบและเชื่อมต่อกับแอปของคุณได้
นอกจากนี้ คุณยังต้องประกาศหมวดหมู่ของแอปในองค์ประกอบ <category> ของ
ตัวกรอง Intent ของแอปด้วย ดูรายการหมวดหมู่แอปที่รองรับสำหรับ
ค่าที่อนุญาตสำหรับองค์ประกอบนี้
ข้อมูลโค้ดต่อไปนี้แสดงวิธีประกาศบริการแอปในรถยนต์สำหรับแอปจุดที่น่าสนใจในไฟล์ Manifest
<application>
...
<service
...
android:name=".MyCarAppService"
android:exported="true">
<intent-filter>
<action android:name="androidx.car.app.CarAppService"/>
<category android:name="androidx.car.app.category.POI"/>
</intent-filter>
</service>
...
<application>
หมวดหมู่แอปที่รองรับ
เมื่อประกาศ CarAppService ตามที่อธิบายไว้ใน
ประกาศ CarAppService คุณต้องประกาศหมวดหมู่ของแอปด้วยโดย
เพิ่มค่าเหล่านี้อย่างน้อย 1 ค่าในตัวกรอง Intent
androidx.car.app.category.NAVIGATION: แสดงวิธีการนำทางแบบเลี้ยวต่อเลี้ยว ดูส่วนสร้างแอปการนำทางสำหรับรถยนต์androidx.car.app.category.POI: มีฟังก์ชันการทำงานที่เกี่ยวข้องกับการค้นหาจุดที่น่าสนใจ เช่น ที่จอดรถ สถานีชาร์จ และปั๊มน้ำมัน ดูส่วนสร้างแอปจุดที่น่าสนใจสำหรับรถยนต์androidx.car.app.category.IOT: ช่วยให้ผู้ใช้ดำเนินการที่เกี่ยวข้องกับอุปกรณ์ที่เชื่อมต่อจากภายในรถได้ ดูส่วน สร้างแอป Internet of Things สำหรับรถยนต์androidx.car.app.category.WEATHER: ช่วยให้ผู้ใช้ดูข้อมูลสภาพอากาศที่เกี่ยวข้องกับตำแหน่งปัจจุบันหรือตามเส้นทาง ดูส่วนสร้างแอปสภาพอากาศสำหรับรถยนต์androidx.car.app.category.MEDIA: ช่วยให้ผู้ใช้เรียกดูและเล่นเพลง วิทยุ หนังสือเสียง และเนื้อหาเสียงอื่นๆ ในรถยนต์ได้ ดูส่วน สร้างแอปสื่อที่ใช้เทมเพลตสำหรับรถยนต์androidx.car.app.category.MESSAGING: ช่วยให้ผู้ใช้สื่อสารด้วยข้อความสั้น ดูส่วน สร้างประสบการณ์การรับส่งข้อความที่ใช้เทมเพลตสำหรับ Android Autoandroidx.car.app.category.CALLING: ช่วยให้ผู้ใช้สื่อสารด้วยการโทรด้วยเสียงได้ ดูส่วน สร้างประสบการณ์การโทรสำหรับ Android Auto
ดูคำอธิบายโดยละเอียดของแต่ละหมวดหมู่และเกณฑ์ที่ต้องมีเพื่อให้มีสิทธิ์อยู่ในหมวดหมู่ได้ที่ คุณภาพแอป Android สำหรับรถยนต์
ระบุชื่อและไอคอนของแอป
carPermissionActivityLayout ต้องระบุชื่อและไอคอนของแอปสำหรับโฮสต์เพื่อแสดงแอปใน UI ของระบบ ใช้แอตทริบิวต์ label และ
icon ของ CarAppService เพื่อระบุชื่อและ
ไอคอนของแอปที่โฮสต์ใช้เพื่อแสดงแอปของคุณ
...
<service
android:name=".MyCarAppService"
android:exported="true"
android:label="@string/my_app_name"
android:icon="@drawable/my_app_icon">
...
</service>
...
หากคุณไม่ได้ประกาศป้ายกำกับหรือไอคอนในองค์ประกอบ <service> โฮสต์
จะกลับไปใช้ค่าที่ระบุโดยองค์ประกอบ <application>
ตั้งค่าธีมที่กำหนดเอง
วิธีตั้งค่าธีมที่กำหนดเองสำหรับแอปในรถยนต์
เพิ่มองค์ประกอบ
<meta-data>ในไฟล์ Manifest<meta-data android:name="androidx.car.app.theme" android:resource="@style/MyCarAppTheme />ประกาศทรัพยากรสไตล์เพื่อตั้งค่าแอตทริบิวต์สำหรับธีมแอปในรถยนต์ที่กำหนดเอง
<resources> <style name="MyCarAppTheme"> <item name="carColorPrimary">@color/my_primary_car_color</item> <item name="carColorPrimaryDark">@color/my_primary_dark_car_color</item> <item name="carColorSecondary">@color/my_secondary_car_color</item> <item name="carColorSecondaryDark">@color/my_secondary_dark_car_color</item> <item name="carPermissionActivityLayout">@layout/my_custom_background</item> </style> </resources>
ระดับ Car App API
ไลบรารีแอปในรถยนต์กำหนดระดับ API ของตัวเองเพื่อให้คุณทราบว่าโฮสต์เทมเพลตรองรับฟีเจอร์ใดของไลบรารีในรถยนต์
หากต้องการดึงข้อมูลระดับ Car App API สูงสุดที่โฮสต์รองรับ ให้ใช้
getCarAppApiLevel()
เมธอด
ประกาศระดับ Car App API ขั้นต่ำที่แอปของคุณรองรับในไฟล์ AndroidManifest.xml
<manifest ...>
<application ...>
<meta-data
android:name="androidx.car.app.minCarApiLevel"
android:value="1"/>
</application>
</manifest>
ดูรายละเอียดเกี่ยวกับการรักษาความเข้ากันได้แบบย้อนหลังและการประกาศ
ระดับ API ขั้นต่ำที่ต้องใช้ฟีเจอร์ได้ที่เอกสารประกอบสำหรับคำอธิบายประกอบ
RequiresCarApi หากต้องการดูคำจำกัดความของระดับ API
ที่ต้องใช้ฟีเจอร์บางอย่างของไลบรารีแอปในรถยนต์ โปรดดู
เอกสารอ้างอิงสำหรับ
CarAppApiLevels