Tích hợp đường liên kết sâu vào ứng dụng Media

Tài liệu này 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 ứng dụng đa phương tiện AAOS. Đường liên kết sâu đa phương tiện cho phép bạn mở ứng dụng đa phương tiện AAOS thông qua đường liên kết sâu giống như trên thiết bị di động.

Phiên bản được hỗ trợ

Để xem phiên bản được hỗ trợ mới nhất, hãy xem các cấu phần phần mềm bản dựng 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ý lược đồ cụ thể. Sau đó, ứng dụng đa phương tiện sẽ giải mã URL, tạo một Ý định đa phương tiện có thông tin trong đường liên kết đó, rồi sử dụng ý định đó để mở màn hình đa phương tiện.

Cách triển khai để hỗ trợ ý định mới và dữ liệu bổ sung mới:

  • Cung cấp định dạng cập nhật của các ý định mà Đa phương tiện có thể xử lý cho nhà phát triển 3P để họ có thể gửi thông tin cần thiết thông qua ý định đến Đa phương tiện.

  • Xử lý các ý định từ ứng dụng 3P có chứa một mục đa phương tiện cụ thể hoặc một truy vấn tìm kiếm, sau đó mở một trang có thông tin được yêu cầu trong Đa phương tiện.

Nhà phát triển 3P 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 ý định URI web và gửi thông tin cần thiết đến Đa phương tiện thông qua một ý định.

Yêu cầu đối với ứng dụng 3P

TmaTrampolineActivity trong ứng dụng TestMediaApp được cung cấp làm 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 xử lý như mô tả trong bài viết Thêm bộ lọc ý định cho đường liên kết đến.

Bạn nên đưa 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 các 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 Đa phương tiện sẽ truy xuất thông tin từ đường liên kết và tạo một ý định cho Đa phương tiện.

Đa phương tiện hỗ trợ 2 chức năng. Chức năng đầu tiên là mở một mục đa phương tiện bằng một mục đa phương tiện cụ thể và chức năng thứ hai là hiển thị kết quả của một truy vấn tìm kiếm. Mã mục đa phương tiện hoặc chuỗi truy vấn tìm kiếm phải có trong dữ liệu bổ sung ý định.

Thông tin ý định

Để sử dụng tính năng này, nhà phát triển phải cài đặt phiên bản Đa phương tiện mới nhất để hỗ trợ thao tác theo ý định, ACTION_MEDIA_TEMPLATE_V2. Hành động Ý định và dữ liệu bổ sung ý định sau đây có trong lớp MediaIntentExtras.java. Bạn có thể thêm các dữ liệu bổ sung này vào ý định.

Tên dữ liệu bổ sung Giá trị Mô tả
EXTRA_KEY_MEDIA_COMPONENT Chuỗi cho componentName Khoá được dùng làm trường dữ liệu bổ sung chuỗi với ACTION_MEDIA_TEMPLATE_V2 để chỉ định MediaBrowserService mà người dùng muốn bắt đầu nội dung đa phương tiện. Khi không được chỉ định, nguồn đa phương tiện đang hoạt động sẽ được mở.
EXTRA_KEY_MEDIA_ID Mã đa phương tiện Khoá được dùng làm trường dữ liệu bổ sung chuỗi với ACTION_MEDIA_TEMPLATE_V2 để chỉ định mục đa phương tiện cần hiển thị trong chế độ xem Duyệt xem. Phải khớp với các mã đượ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 dữ liệu bổ sung chuỗi với ACTION_MEDIA_TEMPLATE_V2 để chỉ định truy vấn tìm kiếm cần gửi đến MediaBrowserService hiện tại hoặc truy vấn được chỉ định bằng EXTRA_KEY_MEDIA_COMPONENT
EXTRA_KEY_SEARCH_ACTION

Số nguyên:

  • 0: EXTRA_VALUE_NO_SEARCH_ACTION
  • 1: EXTRA_VALUE_PLAY_FIRST_ITEM_FROM_SEARCH
Khoá được dùng làm trường dữ liệu bổ sung int với ACTION_MEDIA_TEMPLATE_V2 để chỉ định hành động mà Đa phương tiện cần 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 dữ liệu bổ sung này, thì hệ thống sẽ không thực hiện thêm hành động nào sau khi kết quả tìm kiếm được tải.

Các trường hợp đặc biệt

Nếu bạn thêm nhiều dữ liệu bổ sung vào ý định cùng nhau, chẳng hạn như cả EXTRA_KEY_MEDIA_IDEXTRA_KEY_SEARCH_QUERY đều có trong ý định này, thì cách triển khai hiện tại sẽ xử lý mã đa phương tiện trước tiên và chỉ khi mã đa phương tiện trống thì Đa phương tiện mới chạy truy vấn tìm kiếm.

Kiểm tra

Sau khi quá trình tích hợp ứng dụng đa phương tiện 3P hoàn tất, hãy sử dụng lệnh adb để gửi một đường liên kết sâu. Đa phương tiện sẽ mở ra với thông tin mong 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"