Bu kılavuzda, önemli yer (ÖY) uygulamanızın işlevlerini uygulamak için kullanabileceğiniz Araba Uygulaması Kitaplığı'nın farklı özellikleri açıklanmaktadır.
Manifest'inizde kategori desteğini beyan edin
Uygulamanızın, CarAppService
intent filtresinde androidx.car.app.category.POI
araba uygulaması kategorisini beyan etmesi gerekiyor.
Aşağıdaki örnekte, uygulama kategorisinin nasıl beyan edileceği gösterilmektedir:
<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>
Harita şablonlarına erişme
Önemli yer uygulamaları, PlaceListMapTemplate
ve MapWithContentTemplate
bölümlerine erişebilir.
PlaceListMapTemplate
, ÖY'lerin listesini, ana makine tarafından oluşturulan bir haritanın yanında göstermek üzere özel olarak tasarlanmıştır.
MapWithContentTemplate
, listeleri ve diğer içerik türlerini, uygulamanız tarafından oluşturulan bir haritanın yanında görüntülemek için kullanılabilir. Bu şablonu kullanmayla ilgili daha fazla ayrıntı için Harita çizme bölümüne bakın.
Bu şablonlara erişmek için uygulamanızın AndroidManifest.xml
dosyasında androidx.car.app.MAP_TEMPLATES
iznini beyan etmesi gerekiyor:
<manifest ...>
...
<uses-permission android:name="androidx.car.app.MAP_TEMPLATES"/>
...
</manifest>
PlaceListMapTemplate içeriğini yenile
Sürücülerin PlaceListMapTemplate
ile oluşturulan yerlerin listelerine göz atarken tek bir dokunuşla içeriği yenilemelerini sağlayabilirsiniz.
OnContentRefreshListener
arayüzünün onContentRefreshRequested
yöntemini uygulayın ve şablonda işleyiciyi liste yenilemeyi etkinleştirecek şekilde ayarlamak için PlaceListMapTemplate.Builder.setOnContentRefreshListener
kullanın.
Aşağıdaki snippet'te, şablonda işleyicinin nasıl ayarlanacağı gösterilmektedir:
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();
Yenile düğmesi yalnızca işleyicinin bir değeri varsa PlaceListMapTemplate
öğesinin başlığında gösterilir.
Kullanıcı yenile düğmesini tıkladığında OnContentRefreshListener
uygulamanızın onContentRefreshRequested
yöntemi çağrılır. onContentRefreshRequested
içinde Screen.invalidate
yöntemini çağırın. Daha sonra ana makine, yenilenmiş içerikle şablonu almak için uygulamanızın Screen.onGetTemplate
yöntemini tekrar çağırır. Şablonları yenileme hakkında daha fazla bilgi için Şablonun içeriğini yenileme bölümüne bakın. onGetTemplate
tarafından döndürülen bir sonraki şablon aynı türde olduğu sürece bu yenileme olarak sayılır ve şablon kotasına dahil edilmez.
Uygulama İşlemleri'ni kullanarak Google Asistan ile entegrasyon
Kullanıcıların önemli yerleri aramalarına olanak tanımak için "Ok Google, exampleApp'te yakındaki şarj istasyonlarını bul" gibi sorular sorarak ÖY uygulamanızı Asistan'ı kullanarak Voice'u etkinleştirin. Ayrıntılı talimatlar için Arabalar için Uygulama İşlemleri başlıklı makaleyi inceleyin.