InputMethodManager
là một dịch vụ mà ứng dụng có thể sử dụng để tương tác với bàn phím hệ thống. Các biên tập viên như EditText
cũng sử dụng nó để gián tiếp thông báo cho bàn phím của các thay đổi (ví dụ: updateSelection
).Tôi có thể sử dụng Android InputMethodManager trên bàn phím trong ứng dụng tùy chỉnh không?
Tôi có thể lấy một tham chiếu đến InputMethodManager
như
InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
vấn đề này của tôi là điều này có vẻ là chỉ cho bàn phím của hệ thống. Tôi có thể sử dụng số InputMethodManager
cho số custom in-app keyboard không? Nếu nó chỉ là một ứng dụng bị cô lập tôi sẽ không quan tâm nhưng tôi bao gồm một bàn phím tùy chỉnh trong một thư viện sẽ được sử dụng trong nhiều ứng dụng. Tôi cần một cách chuẩn để người biên tập giao tiếp với bàn phím.
Tôi có phải viết trình quản lý phương thức nhập của riêng mình hoặc có cách nào để sử dụng tiêu chuẩn InputMethodManager
bằng bàn phím trong ứng dụng tùy chỉnh của mình không?
Cập nhật
Dưới đây là một số manh mối để làm thế nào tôi có thể thực hiện quản lý phương thức nhập liệu tùy chỉnh riêng của tôi nếu không có cách nào để sử dụng một tiêu chuẩn.
InputMethodManager
(documentation) (source code)InputMethod
interfaceInputMethodSession
interfaceKeyboardView.OnKeyboardActionListener
interface (bàn phím thực hiện nó)InputMethodService
(bàn phím mở rộng này) (documentation) (source code)
Tôi quyết định đi tuyến đường tạo trình quản lý phương thức nhập tùy chỉnh của riêng mình. Tôi không nghĩ rằng nó có thể sử dụng hệ thống 'InputMethodManager' vì nó liên quan đến vấn đề an ninh với điện thoại. Tuy nhiên, tôi đã thêm tiền thưởng chỉ để chắc chắn trước khi tôi hoàn toàn từ bỏ ý tưởng. – Suragch