สร้างแอปจุดสนใจ

คู่มือนี้จะอธิบายรายละเอียดฟีเจอร์ต่างๆ ของ Car App Library ที่คุณใช้เพื่อติดตั้งใช้งานฟังก์ชันการทำงานของแอปจุดที่น่าสนใจ (POI)

ประกาศการรองรับหมวดหมู่ในไฟล์ Manifest

แอปของคุณต้องประกาศandroidx.car.app.category.POI หมวดหมู่แอปในรถยนต์ในตัวกรอง Intent ของ 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.POI"/>
      </intent-filter>
    </service>
    ...
<application>

เข้าถึงเทมเพลตแผนที่

แอปจุดที่น่าสนใจจะเข้าถึง PlaceListMapTemplate และ MapWithContentTemplate ได้

PlaceListMapTemplate ออกแบบมาเพื่อแสดงรายการจุดที่น่าสนใจควบคู่ไปกับแผนที่ที่โฮสต์แสดงผลโดยเฉพาะ

MapWithContentTemplate ใช้เพื่อแสดงรายการและเนื้อหาประเภทอื่นๆ ควบคู่ไปกับแผนที่ที่แอปของคุณแสดงได้ ดูรายละเอียดเพิ่มเติมเกี่ยวกับการใช้เทมเพลตนี้ได้ที่ วาดแผนที่

หากต้องการเข้าถึงเทมเพลตเหล่านี้ แอปของคุณต้องประกาศสิทธิ์ androidx.car.app.MAP_TEMPLATESในไฟล์ AndroidManifest.xml

<manifest ...>
  ...
  <uses-permission android:name="androidx.car.app.MAP_TEMPLATES"/>
  ...
</manifest>

รีเฟรชเนื้อหา PlaceListMapTemplate

คุณอนุญาตให้คนขับรีเฟรชเนื้อหาได้ด้วยการแตะปุ่มขณะเรียกดูรายการสถานที่ที่สร้างด้วย PlaceListMapTemplate ใช้เมธอด onContentRefreshRequested ของอินเทอร์เฟซ OnContentRefreshListener และใช้ PlaceListMapTemplate.Builder.setOnContentRefreshListener เพื่อตั้งค่า Listener ในเทมเพลตเพื่อเปิดใช้การรีเฟรชรายการ

ข้อมูลโค้ดต่อไปนี้แสดงวิธีตั้งค่า Listener ในเทมเพลต

return PlaceListMapTemplate.Builder()
    // ...
    .setOnContentRefreshListener {
        // Execute any desired logic
        // ...
        // Then call invalidate() so onGetTemplate() is called again
        invalidate()
    }
    .build()

ปุ่มรีเฟรชจะแสดงในส่วนหัวของ PlaceListMapTemplate ก็ต่อเมื่อผู้ฟังมีค่า

เมื่อผู้ใช้คลิกปุ่มรีเฟรช ระบบจะเรียกใช้onContentRefreshRequested เมธอดของการติดตั้งใช้งาน OnContentRefreshListener ภายใน onContentRefreshRequested ให้เรียกใช้เมธอด Screen.invalidate จากนั้นโฮสต์จะเรียกใช้เมธอด Screen.onGetTemplate ของแอปอีกครั้งเพื่อดึงเทมเพลตที่มีเนื้อหาที่รีเฟรชแล้ว ดูข้อมูลเพิ่มเติมเกี่ยวกับการรีเฟรชเทมเพลตได้ที่รีเฟรชเนื้อหาของเทมเพลต ตราบใดที่เทมเพลตถัดไปที่ onGetTemplate ส่งคืนเป็นประเภทเดียวกัน ระบบจะนับเป็นการรีเฟรชและไม่นับรวมใน โควต้าเทมเพลต

ผสานรวมกับ Google Assistant โดยใช้การดำเนินการของแอป

เปิดใช้เสียงในแอปจุดที่น่าสนใจโดยใช้ Assistant เพื่อให้ผู้ใช้ค้นหาสถานที่น่าสนใจได้ด้วยการถามคำถาม เช่น "Ok Google ค้นหาสถานีชาร์จที่อยู่ใกล้ๆ ใน ExampleApp" ดูวิธีการอย่างละเอียดได้ที่การดำเนินการของแอปสำหรับรถยนต์