Tài liệu này nhằm mô tả cách nhà phát triển ứng dụng bên thứ ba (3P) có thể thêm đường liên kết sâu vào các ứng dụng đa phương tiện trên AAOS. Đường liên kết sâu đến nội dung nghe nhìn cho phép bạn mở các ứng dụng Nội dung nghe nhìn trên AAOS thông qua đường liên kết sâu theo cách tương tự như trên thiết bị di động.
Phiên bản được hỗ trợ
Để tải phiên bản được hỗ trợ mới nhất, hãy xem Các cấu phần phần mềm mới nhất.
CarMediaApp.apk
TestMediaApp.apk
Cách hoạt động
Khi một đường liên kết sâu được mở trên AAOS, đường liên kết đó sẽ mở ứng dụng đa phương tiện xử lý một lược đồ cụ thể. Sau đó, ứng dụng đa phương tiện sẽ giải mã URL, tạo một Ý định về nội dung nghe nhìn bằng thông tin trong đường liên kết đó, rồi dùng ý định đó để mở màn hình nội dung nghe nhìn.
Việc triển khai để hỗ trợ các ý định mới và các phần bổ sung mới:
Cung cấp định dạng mới cho các ý định mà nhà phát triển bên thứ ba có thể xử lý cho Media để họ có thể gửi thông tin cần thiết thông qua ý định cho Media.
Xử lý các ý định từ ứng dụng bên thứ ba có chứa một mục nội dung nghe nhìn cụ thể hoặc một cụm từ tìm kiếm, sau đó mở một trang có thông tin được yêu cầu trong Media.
Nhà phát triển bên thứ ba chịu trách nhiệm cập nhật ứng dụng của họ để ứng dụng có thể được gọi bằng các ý định URI trên web và gửi thông tin cần thiết đến Media thông qua một ý định.
Yêu cầu đối với ứng dụng bên thứ ba
TmaTrampolineActivity
trong ứng dụng TestMediaApp
được cung cấp dưới dạng ví dụ.
Bước 1
Nhà phát triển phải có một hoạt động tương tự như TmaTrampolineActivity
trong TestMediaApp
. Để liên kết sâu, hoạt động này cần một bộ lọc ý định trong tệp kê khai. Bộ lọc ý định này phải bao gồm tất cả các URL cần được xử lý như mô tả trong phần Thêm bộ lọc ý định cho các đường liên kết đến.
Bạn nên thêm các lược đồ và máy chủ mà ứng dụng phiên bản điện thoại sử dụng vào bộ lọc ý định để đảm bảo đường liên kết sâu hoạt động trên nhiều nền tảng.
<activity android:name=".automotive.TmaTrampolineActivity"
android:exported="true">
<intent-filter android:label="TmaTrampolineActivity_label">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="app"
android:host="com.android.car.media.testmediaapp"/>
</intent-filter>
</activity>
Bước 2
Trong hoạt động này, ứng dụng Media sẽ truy xuất thông tin từ đường liên kết và tạo một ý định cho Media.
Media hỗ trợ 2 chức năng. Chức năng đầu tiên là mở một mục nội dung nghe nhìn bằng một mục nội dung nghe nhìn cụ thể và chức năng thứ hai là hiển thị kết quả của một cụm từ tìm kiếm. Mã nhận dạng mục nội dung nghe nhìn hoặc chuỗi truy vấn tìm kiếm phải có trong dữ liệu bổ sung của ý định.
Thông tin về ý định
Để sử dụng tính năng này, nhà phát triển phải cài đặt phiên bản mới nhất của Nội dung nghe nhìn để hỗ trợ thao tác Intent, ACTION_MEDIA_TEMPLATE_V2
. Thao tác Intent và các phần bổ sung ý định sau đây có trong lớp MediaIntentExtras.java
. Bạn có thể thêm những dữ liệu bổ sung này vào ý định.
Tên khác | Giá trị | Mô tả |
---|---|---|
EXTRA_KEY_MEDIA_COMPONENT | Chuỗi cho componentName | Khoá được dùng làm trường bổ sung chuỗi với ACTION_MEDIA_TEMPLATE_V2 để chỉ định MediaBrowserService mà người dùng muốn bắt đầu phát nội dung nghe nhìn. Nếu không chỉ định, nguồn nội dung nghe nhìn đang hoạt động sẽ được mở. |
EXTRA_KEY_MEDIA_ID | Mã nhận dạng nội dung đa phương tiện | Khoá được dùng làm trường bổ sung chuỗi với ACTION_MEDIA_TEMPLATE_V2 chỉ định mục nội dung nghe nhìn cần hiển thị trong chế độ xem Duyệt xem. Phải khớp với các mã nhận dạng được dùng trong API MediaBrowserServiceCompat. |
EXTRA_KEY_SEARCH_QUERY | Truy vấn tìm kiếm | Khoá được dùng làm trường bổ sung chuỗi với ACTION_MEDIA_TEMPLATE_V2 để chỉ định cụm từ tìm kiếm cần gửi đến MediaBrowserService hiện tại hoặc cụm từ tìm kiếm được chỉ định bằng EXTRA_KEY_MEDIA_COMPONENT |
EXTRA_KEY_SEARCH_ACTION | Số nguyên:
|
Khoá được dùng làm trường bổ sung int với ACTION_MEDIA_TEMPLATE_V2 để chỉ định hành động mà Nội dung nghe nhìn sẽ thực hiện sau khi truy vấn tìm kiếm được tải.
Giá trị là một trong các giá trị EXTRA_VALUE_NO_SEARCH_ACTION hoặc EXTRA_VALUE_PLAY_FIRST_ITEM_FROM_SEARCH. Bạn chỉ nên sử dụng dữ liệu bổ sung này với EXTRA_KEY_SEARCH_QUERY. Nếu bạn không chỉ định phần bổ sung này, thì hệ thống sẽ không thực hiện thêm hành động nào sau khi tải kết quả tìm kiếm. |
Các trường hợp đặc biệt
Nếu một số thành phần bổ sung được thêm vào ý định cùng nhau, chẳng hạn như cả EXTRA_KEY_MEDIA_ID
và EXTRA_KEY_SEARCH_QUERY
đều có trong ý định này, thì quá trình triển khai hiện tại sẽ xử lý mã nhận dạng nội dung nghe nhìn trước và chỉ khi mã nhận dạng nội dung nghe nhìn trống thì Nội dung nghe nhìn mới chạy cụm từ tìm kiếm.
Kiểm tra
Sau khi hoàn tất quá trình tích hợp ứng dụng đa phương tiện bên thứ ba, hãy sử dụng lệnh adb
để gửi một đường liên kết sâu. Nội dung nghe nhìn sẽ mở ra cùng với thông tin bạn muốn. Ví dụ: lệnh này cho TestMediaApp
:
adb shell am start -W -a android.intent.action.VIEW -d "https://www.testmediaapp.com/path?search=normal\&searchAction=1"