Hướng dẫn này trình bày chi tiết các tính năng của Thư viện ứng dụng cho ô tô mà bạn có thể dùng để triển khai chức năng của ứng dụng địa điểm yêu thích (POI).
Khai báo tính năng hỗ trợ danh mục trong tệp kê khai của bạn
Ứng dụng của bạn cần khai báo androidx.car.app.category.POI
danh mục ứng dụng cho ô tô trong bộ lọc ý định của
CarAppService
:
Ví dụ sau cho biết cách khai báo danh mục ứng dụng:
<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>
Truy cập vào mẫu bản đồ
Các ứng dụng Địa điểm yêu thích có thể truy cập PlaceListMapTemplate
và MapWithContentTemplate
.
PlaceListMapTemplate
được thiết kế đặc biệt để hiển thị danh sách
POI dọc theo bản đồ được máy chủ lưu trữ kết xuất.
MapWithContentTemplate
có thể được dùng để hiển thị danh sách và các loại
nội dung cùng với bản đồ được hiển thị bởi ứng dụng của bạn. Xem
Vẽ bản đồ để biết thêm chi tiết về cách sử dụng tính năng này
mẫu.
Để truy cập vào những mẫu này, ứng dụng của bạn cần khai báo
Quyền androidx.car.app.MAP_TEMPLATES
trong tệp AndroidManifest.xml
:
<manifest ...>
...
<uses-permission android:name="androidx.car.app.MAP_TEMPLATES"/>
...
</manifest>
Làm mới nội dung PlaceListMapTemplate
Bạn có thể cho phép người lái xe làm mới nội dung bằng cách nhấn một nút trong khi duyệt qua danh sách các địa điểm được tạo bằng PlaceListMapTemplate
.
Triển khai phương thức onContentRefreshRequested
của giao diện OnContentRefreshListener
và sử dụng PlaceListMapTemplate.Builder.setOnContentRefreshListener
nhằm thiết lập trình nghe trên mẫu để bật tính năng làm mới danh sách.
Đoạn mã sau đây cho biết cách thiết lập trình nghe trên mẫu:
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();
Nút làm mới chỉ xuất hiện trong tiêu đề của PlaceListMapTemplate
nếu trình nghe có một giá trị.
Khi người dùng nhấp vào nút làm mới, phương thức onContentRefreshRequested
của quá trình triển khai OnContentRefreshListener
sẽ được gọi. Trong onContentRefreshRequested
, hãy gọi phương thức Screen.invalidate
. Sau đó, máy chủ lưu trữ sẽ gọi lại phương thức Screen.onGetTemplate
của ứng dụng để truy xuất mẫu có nội dung được làm mới. Xem phần Làm mới nội dung của mẫu để biết thêm thông tin về cách làm mới mẫu. Chỉ cần mẫu tiếp theo mà onGetTemplate
trả về thuộc cùng một loại, thì mẫu đó sẽ được tính là một lần làm mới và không được tính vào hạn mức mẫu.
Tích hợp với Trợ lý Google bằng cách dùng Hành động trong ứng dụng
Dùng giọng nói để bật ứng dụng Địa điểm yêu thích thông qua Trợ lý để cho phép người dùng tìm kiếm các địa điểm yêu thích bằng cách hỏi những câu như "Ok Google, tìm các trạm sạc ở gần trên ExampleApp". Để biết hướng dẫn chi tiết, hãy xem bài viết Hành động trong ứng dụng dành cho ô tô.