Điều chỉnh ứng dụng theo ý thích của người dùng

Thiết bị di động đã trở thành một phần phổ biến trong cuộc sống hàng ngày của nhiều người. Người dùng mang theo điện thoại trong suốt cả ngày khi họ lái xe, đi bộ, tập thể dục, làm việc và giải trí.

Việc hiểu những gì người dùng đang làm trong thế giới thực cho phép ứng dụng của bạn thông minh hơn về cách tương tác với họ. Ví dụ: một ứng dụng có thể bắt đầu theo dõi nhịp tim của người dùng khi họ bắt đầu chạy, một ứng dụng khác có thể chuyển sang chế độ trên ô tô khi phát hiện thấy người dùng đó đã bắt đầu lái xe.

API Nhận dạng hoạt động được xây dựng dựa trên cảm biến có sẵn trong thiết bị. Cảm biến thiết bị cung cấp thông tin chi tiết về hoạt động của người dùng hiện tại. Tuy nhiên, với hàng chục tín hiệu từ nhiều cảm biến và biến thể nhỏ trong cách mọi người thực hiện, việc phát hiện những gì người dùng đang làm không hề dễ dàng.

API Nhận dạng hoạt động tự động phát hiện các hoạt động bằng cách định kỳ đọc các đoạn dữ liệu cảm biến ngắn và xử lý chúng bằng các mô hình máy học. Để tối ưu hoá tài nguyên, API có thể ngừng báo cáo hoạt động nếu thiết bị vẫn đã được một thời gian và sử dụng cảm biến nguồn yếu để tiếp tục báo cáo khi phát hiện thấy chuyển động.

Nhận thông tin về các hoạt động bằng cách sử dụng tài nguyên tối thiểu

Một số ứng dụng muốn biết thời điểm người dùng bắt đầu hoặc dừng một hoạt động cụ thể. Ví dụ: ứng dụng theo dõi số dặm có thể bắt đầu theo dõi dặm đường khi người dùng bắt đầu lái xe hoặc ứng dụng nhắn tin có thể tắt tiếng tất cả các cuộc trò chuyện cho đến khi người dùng dừng lái xe.

API Chuyển đổi nhận dạng hoạt động cho phép các trường hợp này bằng cách thực hiện khối lượng lớn công việc liên quan đến việc phát hiện các thay đổi trong hoạt động của người dùng. Ứng dụng sẽ đăng ký chuyển đổi theo các hoạt động bạn quan tâm và API chỉ thông báo cho ứng dụng khi cần. Bạn không cần triển khai phương pháp phỏng đoán phức tạp để phát hiện thời điểm một hoạt động bắt đầu hoặc kết thúc.

API Nhận dạng hoạt động phân phối kết quả cho lệnh gọi lại, thường được triển khai dưới dạng IntentService trong ứng dụng. Kết quả được phân phối trong khoảng thời gian bạn chỉ định hoặc ứng dụng có thể sử dụng kết quả do ứng dụng khác yêu cầu mà không cần tiêu thụ thêm nguồn điện.

Bạn có thể cho API biết cách phân phối kết quả bằng cách sử dụng PendingIntent, thao tác này giúp bạn không cần phải có dịch vụ chạy liên tục trong nền cho mục đích phát hiện hoạt động. Ứng dụng sẽ nhận Intents tương ứng từ API, trích xuất các hoạt động đã phát hiện và quyết định xem có nên thực hiện hành động hay không. Chỉ gọi dịch vụ này khi nhận được một hoạt động để bảo toàn tài nguyên, chẳng hạn như bộ nhớ.

API Nhận dạng hoạt động thực hiện công việc khó khăn bằng cách xử lý các tín hiệu từ thiết bị để xác định các hoạt động hiện tại. Ứng dụng của bạn nhận được danh sách các hoạt động đã phát hiện, mỗi hoạt động bao gồm các thuộc tính confidencetype.

Thuộc tính confidence cho biết khả năng người dùng đang thực hiện hoạt động được thể hiện trong kết quả. Thuộc tính type thể hiện hoạt động được phát hiện của thiết bị so với các thực thể trong thế giới thực, ví dụ: thiết bị nằm trên xe đạp hoặc thiết bị nằm trên người dùng đang chạy.