本指南說明車輛應用程式程式庫的不同功能,方便您實作搜尋點 (POI) 應用程式中的功能。
在資訊清單中宣告類別支援
應用程式必須在 CarAppService
的意圖篩選器中宣告 androidx.car.app.category.POI
車用應用程式類別:
以下範例說明如何聲明應用程式類別:
<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
,這個項目的用意是在主機算繪地圖時一併顯示搜尋點清單。
如要存取這個範本,應用程式需要在 AndroidManifest.xml
檔案中聲明 androidx.car.app.MAP_TEMPLATES
權限:
<uses-permission android:name="androidx.car.app.MAP_TEMPLATES"/>
重新整理 PlaceListMapTemplate 內容
您可以允許駕駛人在瀏覽 PlaceListMapTemplate
建構的地點清單時,透過輕觸按鈕重新整理內容。導入 OnContentRefreshListener
介面的 onContentRefreshRequested
方法,並使用 PlaceListMapTemplate.Builder.setOnContentRefreshListener
設定範本的事件監聽器,以啟用清單重新整理功能。
下列程式碼片段示範如何為範本設定事件監聽器:
Kotlin
PlaceListMapTemplate.Builder() ... .setOnContentRefreshListener { // Execute any desired logic ... // Then call invalidate() so onGetTemplate() is called again invalidate() } .build()
Java
new PlaceListMapTemplate.Builder() ... .setOnContentRefreshListener(() -> { // Execute any desired logic ... // Then call invalidate() so onGetTemplate() is called again invalidate(); }) .build();
只有在事件監聽器含有值時,重新整理按鈕才會顯示在 PlaceListMapTemplate
的標頭中。
駕駛人點選重新整理按鈕時,系統會呼叫 OnContentRefreshListener
實作項目的 onContentRefreshRequested
方法。請在 onContentRefreshRequested
中,呼叫 Screen.invalidate
方法。主機隨後會呼叫應用程式的 Screen.onGetTemplate
方法,使用經過重新整理的內容擷取範本。如要進一步瞭解如何重新整理範本,請參閱「重新整理範本內容」。只要 onGetTemplate
傳回的下一個範本類型相同,系統就會計為重新整理,而不會計入範本配額。
使用應用程式動作與 Google 助理整合
使用 Google 助理啟用 POI 應用程式的語音功能,即可讓使用者詢問「Ok Google,在範例應用程式上尋找附近的充電站」等事項,藉此搜尋相關搜尋點。如需詳細操作說明,請參閱「車輛應用程式動作」。