Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.

Chế độ ga ra

Để cung cấp khoảng thời gian nhàn rỗi trong xe, nhà để xe Chế độ giữ hệ thống tỉnh táo để việc làm trong JobScheduler hạn chế với sự biếng nhác có thể được thực thi.

Chế độ ga ra là gì?

Trên các thiết bị được kết nối như điện thoại, người dùng dựa vào hệ thống để đảm bảo thiết bị hoạt động ổn định, cập nhật và tối ưu hóa. Để đạt được trạng thái đó, nền tảng Android cung cấp một thời gian nhàn rỗi cửa sổ trong đó ứng dụng có thể thực hiện nhiệm vụ khi người dùng không tương tác với thiết bị. Một chiếc điện thoại được coi là nhàn rỗi khi người dùng không chạm vào nó cho một thời gian dài (60 phút hoặc lâu hơn) và màn hình bị tắt. Không giống như một chiếc điện thoại, khi một chiếc xe không được sử dụng, nó bị tắt, có nghĩa là xe không có thời gian nhàn rỗi cửa sổ. Chế độ Ga-ra đảm bảo thời gian nhàn rỗi trên ô tô.

Khi người dùng tắt xe, hệ thống sẽ chuyển sang Chế độ ga ra. Khi ô tô đang ở Chế độ ga ra, hệ thống được bật nguồn, màn hình tắt và các công việc nhàn rỗi trong hàng đợi JobScheduler được thực thi. Để thực hiện Garage Mode, thấy hướng dẫn thực hiện thiết bị dưới đây.

Nguyên tắc triển khai thiết bị

Để kích hoạt Garage Mode, khi tắt xe, các xe HAL (VHAL) phải gửi AP_POWER_STATE_REQ với trạng thái SHUTDOWN_PREPARE với tham số thiết lập để SHUTDOWN_ONLY hoặc CAN_SLEEP .

Đối với tình trạng SHUTDOWN_PREPARE có hiệu quả, các VHAL phải xác định hai tham số (nhà nước và các tham số bổ sung) cho AP_POWER_STATE_REQ lệnh. Điều này cho phép các thiết bị để nhập Garage Mode, trong đó phát hiện kế hoạch công việc trong JobScheduler và ngăn cản hệ thống từ tiến tới hoặc đình chỉ hoặc đóng cửa cho đến khi công việc được hoàn thành.

Làm cách nào để triển khai thiết bị kết nối với Android framework?

Đối với Chế độ ga-ra, khuôn khổ yêu cầu VHAL kéo dài thời gian tắt máy cho đến khi vượt quá thời gian yêu cầu hoặc tất cả các công việc đã được thực hiện, lúc đó hệ thống sẽ tắt. Trong các trường hợp cụ thể được xác định trong CDD, việc triển khai thiết bị có thể tắt hệ thống sớm hơn. (Để biết chi tiết về yêu cầu tương thích Android, xem Android Definition Document Compatibility (CDD) .) Nếu VHAL phải tắt hệ thống trước khi Garage Chế độ hoàn tất, các VHAL có thể phát hành SHUTDOWN_PREPARE với tham số thiết lập để SHUTDOWN_IMMEDIATELY hoặc SLEEP_IMMEDIATELY . Triển khai thiết bị có thể sử dụng trong những trường hợp cụ thể mà thôi, thường khi các nguồn lực cần thiết để giữ cho hệ thống chạy không có sẵn. Ví dụ, khi dung lượng pin không đủ.

Chế độ ga ra

Các nhà phát triển ứng dụng làm việc với Chế độ ga ra như thế nào?

Các ứng dụng và dịch vụ không tương tác trực tiếp với Chế độ ga ra. Thay vào đó, các ứng dụng công việc lịch trong JobScheduler . Những công việc bị hạn chế bởi sự biếng nhác sẽ được thực hiện trong nhà để xe Mode.

Đoạn mã sau cho biết cách lên lịch một công việc để chạy trong Chế độ ga ra:

public class MyGarageModeJob extends JobService { ... }

Context context = ...;
int jobId = ...;

ComponentName myGarageModeJobName = new componentName(context,
                                                      MyGarageModeJob.class);

JobInfo.Builder infoBuilder = new JobInfo.Builder(jobId, myGarageModeJobName)
                    .setRequiresDeviceIdle(true);

// Example of an optional constraint:
infoBuilder.setRequiredNetworkType(NetworkType.NETWORK_TYPE_UNMETERED);

JobScheduler jobScheduler = (JobScheduler) context
                    .getSystemService(Context.JOB_SCHEDULER_SERVICE);

jobScheduler.schedule(infoBuilder.build());