2011-09-16 68 views
5

Ứng dụng của tôi cần có hai nguồn hoạt động đầu vào cùng một lúc: Máy quét mã vạch và bàn phím mềm. Khi tôi ghép một máy quét răng xanh, nó đang được coi là bàn phím vật lý. Vì vậy, khi thiết bị này được kết nối, bàn phím mềm không được hiển thị (bàn phím mềm bị tắt).Có thể bật cả Bàn phím thực và Bàn phím mềm cùng một lúc không?

Có thể bật cả Bàn phím thực và Bàn phím mềm cùng một lúc không? Nếu không, cách tiếp cận tốt nhất để giải quyết vấn đề là gì? Tôi có phải triển khai Chế độ xem tùy chỉnh chìm các sự kiện nhấn phím không? Có ứng dụng bàn phím nào trên Market thực hiện điều này không?

Làm cách nào để bật và tắt Bàn phím vật lý theo chương trình? Đây là nút bật tắt 'Sử dụng bàn phím vật lý' cài đặt (Tôi tìm thấy ảnh chụp màn hình của thiết lập này ở đây:.

enter image description here

Trả lời

1

Nó không phải là có thể có cả bàn phím vật lý và mềm bàn phím hoạt động cùng một lúc Nó là thực thi bởi InputMethodService chức năng onEvaluateInputViewShown. bạn có thể kiểm tra tài liệu here.

/** 
* Override this to control when the soft input area should be shown to 
* the user. The default implementation only shows the input view when 
* there is no hard keyboard or the keyboard is hidden. If you change what 
* this returns, you will need to call {@link #updateInputViewShown()} 
* yourself whenever the returned value may have changed to have it 
* re-evaluated and applied. 
*/ 
public boolean onEvaluateInputViewShown() { 

Vì vậy, trừ khi bạn đang thực hiện IME của riêng bạn trong đó bạn có thể overide onEvaluateInputViewShown nó không thể có cả hai thể chất và softkeyboard là hoạt động cùng một lúc

Về câu hỏi cuối cùng của bạn, tôi không chắc chắn nhưng tôi nghĩ rằng không có cách nào để ẩn theo cách lập trình hardKeyboard. Mặc dù không có giải pháp, bạn nên kiểm tra this question

Các vấn đề liên quan