Hiển thị ứng dụng của bạn trên nhiều màn hình cùng lúc trong Android

Tram Ho

Hiển thị ứng dụng của bạn trên nhiều màn hình cùng một lúc bằng cách sử dụng đa màn hình trong Android.

Tổng quat

Phiên bản Android 10 trở lên được hỗ trợ để hiển thị các hoạt động khác trên nhiều màn hình ngoài và chúng được đặt tên là đa màn hình được sử dụng cho điện thoại có thể gập lại cũng như màn hình phụ được kết nối với thiết bị của bạn.

Hôm nay, tôi sẽ giới thiệu với bạn về cách hiển thị một hoạt động trên một màn hình khác và LG của LG cho LG V50 để theo dõi sự kiện cho điện thoại có thể gập lại này với màn hình phụ của nó.

Hiển thị hoạt động của bạn trên một màn hình khác

Khai báo hoạt động thứ cấp của bạn trong bảng kê khai

launchMode là một singleTask kết hợp giữa FLAG_ACTIVITY_CLEAR_TOPFLAG_ACTIVITY_NEW_TASK đặt trong ý định của bạn khi bạn bắt đầu một hoạt động. Nguyên nhân của việc sử dụng các cờ này là để chạy hoạt động của bạn trên tác vụ mới.

Ngoài ra, tôi có một thuộc tính đó là taskAffinity . Nếu hoạt động của bạn chỉ sử dụng cờ FLAG_ACTIVITY_NEW_TASKtaskAffinity không được đặt, nó sẽ bắt đầu cùng một nhiệm vụ với các hoạt động khác. Tuy nhiên, nếu bạn đặt taskAffinity cho hoạt động của mình, nó sẽ chạy trên tác vụ mới và các hoạt động có cùng một nhiệm vụ. taskAffinity sẽ chạy cùng nhau.

Bắt đầu hoạt động của bạn

Trước tiên, bạn cần một DisplayManager quản lý hiển thị quản lý các thuộc tính của màn hình đính kèm.

Tiếp theo, bạn sử dụng nó để lấy tất cả màn hình kết nối với thiết bị.

Đảm bảo rằng thiết bị của bạn có nhiều hơn hai màn hình, sau đó tạo các tùy chọn hoạt động theo lớp ActivityOptions để chỉ ra ID hiển thị mà bạn muốn hiển thị hoạt động của mình.

Bây giờ, bạn có thể chạy hoạt động của mình trên một màn hình khác.

SDK màn hình kép của LG

Màn hình kép LG là gì?

LG Dual Screen là một chiếc điện thoại di động có hai màn hình. Các ứng dụng độc lập có thể được chạy trên màn hình cùng một lúc.

Nó có SDK để hỗ trợ theo dõi các sự kiện gấp.

Gọi lại

SDK này có hai cuộc gọi lại chính:

  • CoverDisplayCallback : Xử lý các sự kiện liên quan đến các trạng thái như nắp được bật, tắt hoặc gỡ bỏ.

  • SmartCoverCallback : Trợ giúp gọi lại này cho biết khi nào nắp của bạn được mở, đóng hoặc lật.

DisplayManagerHelper

DisplayManagerHelper được cung cấp bởi SDK được sử dụng để đăng ký các cuộc gọi lại phía trên cũng như xác định thiết bị của bạn có phải là màn hình kép của LG hay không.

Bạn có thể xây dựng lớp này với bối cảnh hiện tại. Nếu thành công, hoạt động của bạn không phải là thiết bị màn hình kép của LG. Mặt khác, bạn có thể đăng ký cuộc gọi lại của mình thông qua hai chức năng là registerCoverDisplayEnabledCallback(key: String, callback: CoverDisplayCallback)registerSmartCoverCallback(callback: SmartCoverCallback)

Cuối cùng, bạn nên xóa tất cả các cuộc gọi lại khi hoạt động hoặc đoạn của bạn bị hủy để chắc chắn không xảy ra rò rỉ bộ nhớ.

Bản giới thiệu

Bạn có thể xem bản demo đa màn hình của tôi trên GitHub . Nếu nó hữu ích với bạn, hãy để một ngôi sao cho tôi. alt

Người giới thiệu

  1. https://developer.android.com/guide/topics/ui/printables?#multi-display
  2. https://developer.android.com/reference/android/hardware/display/DisplayManager
  3. http://mobile.developer.lge.com/develop/sdks/lg-dual-screen-sdk/
Chia sẻ bài viết ngay

Nguồn bài viết : Viblo