Wear OS hỗ trợ các phương thức nhập ngoài giọng nói, bằng cách mở rộng khung trình chỉnh sửa phương thức nhập (IME) của Android. Khung IME hỗ trợ bàn phím ảo trên màn hình để người dùng nhập văn bản dưới dạng gõ phím, viết tay hoặc cử chỉ.
Người dùng Wear OS có thể chọn trong số nhiều cách nhập dữ liệu trong Remote Input. Những cách này bao gồm:
- Nhập bằng giọng nói
- Biểu tượng cảm xúc
- Câu trả lời soạn trước
- Trả lời thông minh
- IME mặc định
Wear OS đi kèm với một IME mặc định của hệ thống và cũng cho phép nhà phát triển bên thứ ba tạo các IME tuỳ chỉnh. Các API IME dùng cho thiết bị Wear OS cũng giống với các API có hệ số hình dạng khác, mặc dù cách sử dụng hơi khác một chút do kích thước màn hình bị hạn chế.
Tài liệu này cung cấp hướng dẫn để giúp bạn tạo một IME dành riêng cho Wear OS.
Tạo phương thức nhập cho Wear
Nền tảng Android cung cấp một khung tiêu chuẩn để tạo các IME. Để tạo một IME dành riêng cho Wear OS, bạn cần tối ưu hoá IME cho kích thước màn hình bị giới hạn của thiết bị đeo.
Bộ lọc IME dành riêng cho Wear-OS
Để tìm hiểu cách tạo phương thức nhập cho Wear OS, hãy làm theo hướng dẫn để tạo một phương thức nhập trên điện thoại di động. Sau đó, thêm bộ lọc Google Play trong các phần sau đây vào tệp kê khai của bạn để biến tệp đó thành IME dành riêng cho Wear-OS.
Cấp độ API
Nếu bạn đang phát triển một IME cho Wear OS, hãy nhớ rằng tính năng này chỉ được hỗ trợ trên Android 6.0 (API cấp 23) trở lên.
Để đảm bảo rằng IME của bạn chỉ có thể được cài đặt trên các thiết bị đeo hỗ trợ phương thức nhập ngoài giọng nói, hãy đặt giá trị minSdkVersion trong tệp build.gradle.kts của ứng dụng thành 23 trở lên.
Bộ tính năng thiết bị
Để kiểm soát cách lọc ứng dụng khỏi các thiết bị không hỗ trợ IME Wear OS (chẳng hạn như trên iPhone), hãy thêm đoạn mã sau vào tệp kê khai của ứng dụng:
<uses-feature android:required="true" android:name="android.hardware.type.watch" />
Gọi một phương thức nhập
Wear OS cung cấp cho người dùng các chế độ cài đặt trên đồng hồ để họ có thể bật nhiều IME trong danh sách các IME đã cài đặt. Sau khi bật IME, người dùng có thể gọi IME của bạn từ một thông báo hoặc một ứng dụng dùng API RemoteInput.
Lưu ý chung về IME
Dưới đây là một số điều cần xem xét khi triển khai IME cho Wear:
- Đặt thao tác mặc định.
RemoteInputvà các ứng dụng Wear OS chỉ yêu cầu nhập văn bản một dòng. Luôn dùng phím Enter để kích hoạt một lệnh gọi đếnsendDefaultEditorAction. Thao tác này sẽ khiến ứng dụng đóng bàn phím và tiếp tục thực hiện các bước hoặc hành động tiếp theo. - Sử dụng IME chế độ toàn màn hình.
Các phương thức nhập trên Wear OS che phủ phần lớn màn hình, khiến ứng dụng khó nhìn thấy được. Việc sử dụng chế độ toàn màn hình giúp mang đến trải nghiệm tối ưu, bất kể giao diện người dùng của ứng dụng. Ở chế độ toàn màn hình,
ExtractedTextcung cấp chế độ xem phản chiếu của trường văn bản đang được chỉnh sửa, và có thể được tạo kiểu để cho phù hợp với phần còn lại của Giao diện người dùng dành cho phương thức nhập. Để biết thêm thông tin chi tiết về chế độ toàn màn hình, hãy xem nội dungInputMethodService. - Xử lý cờ
InputType.Để bảo vệ quyền riêng tư, ít nhất hãy xử lý cờ
InputTypeTYPE_TEXT_VARIATION_PASSWORDtrong IME của bạn. Khi IME ở chế độ mật khẩu, hãy đảm bảo rằng bàn phím của bạn được tối ưu hoá cho một lần nhấn phím (nghĩa là tắt chế độ tự động sửa lỗi chính tả, tự động hoàn thành và nhập bằng cử chỉ). Quan trọng nhất là bàn phím ở chế độ mật khẩu phải hỗ trợ ký hiệu Chuẩn mã trao đổi thông tin Hoa Kỳ (ASCII) bất kể ngôn ngữ nhập là gì. Để biết thêm thông tin chi tiết, hãy xem phần Chỉ định loại phương thức nhập. - Cung cấp khoá để chuyển sang phương thức nhập tiếp theo.
Android cho phép người dùng chuyển đổi giữa tất cả các IME được nền tảng hỗ trợ. Trong quá trình triển khai IME, hãy đặt giá trị boolean
supportsSwitchingToNextInputMethodthànhtrue. Tính năng này cho phép IME của bạn hỗ trợ cơ chế chuyển đổi, nhờ đó, các ứng dụng có thể chuyển sang IME tiếp theo được nền tảng hỗ trợ. Để tìm hiểu thêm về cách triển khai quá trình chuyển đổi giữa các IME, hãy xem bài viết Chuyển đổi giữa các loại phụ của IME.