簡體   English   中英

Android,啟用虛擬鍵盤時條形碼掃描儀輸入不完整

[英]Android, incomplete input from barcode scanner when virtual keyboard is enabled

我正在嘗試將KDC200 Bluetooth barcode scanner與我的android應用程序一起使用,但是啟用虛擬鍵盤后我遇到了問題(我認為虛擬鍵盤與“ softkey”相同嗎?android設備是Samsung Note 5)。 掃描器的輸入似乎被切斷了。 例如,而不是接收1234567890完全,我可能只會收到1234567123456789代替。 通過設置禁用虛擬鍵盤時,會得到完整的輸入。 這不僅在我的應用程序中,而且在我使用過掃描儀的所有應用程序中都會發生。

我看到很多有關虛擬鍵盤在掃描儀連接時沒有顯示的問題,但到目前為止,有關輸入不完整的信息還很少。

有沒有一種方法可以同時啟用藍牙掃描程序和虛擬鍵盤?

否則,如果必須禁用虛擬鍵盤以從Bluetooth掃描器接收全部輸入,那么當對EditText輸入進行聚焦時,是否可以通過編程方式啟用和禁用它?

如果必須禁用虛擬鍵盤,而我無法以編程方式啟用和禁用它,那么我唯一的選擇是使用按鈕創建自己的鍵盤嗎? 我認為這似乎是不得已的方法。 它不必是完整的鍵盤,而只需是AZ,0-9,退格鍵,回車鍵和點號即可。 有沒有更好的辦法? 也許圖書館已經存在?

我目前正在使用與我要構建的應用程序類似的應用程序,並且看來他們已經輸入了自己的鍵盤或正在使用外部庫,我不確定是哪個。 禁用虛擬鍵盤后,此應用程序上的鍵盤會顯示出來,啟用后似乎會覆蓋它。

因此,如果連接了掃描儀,虛擬鍵盤可能不會出現的原因是,最常見的運行掃描儀模式(並且IIRC是在iOS上唯一使用的方式)是在HID模式下,它會假裝其硬件鍵盤並將密鑰代碼發送到操作系統。 如果連接了硬件,則操作系統通常不會顯示虛擬鍵盤。

通過覆蓋onEvaluateInputViewShown,可以覆蓋此設置作為鍵盤。 在該應用程序中,我能想到的就是用inputMethodManager.showSoftInput強制鍵盤顯示。

我從未見過由於鍵盤彈起而導致掃描儀無法發送數據的情況。 我已經看到掃描儀發送數據的速度非常慢,並且花費幾秒鍾來發送少量字符。 我確保您不會只是看到延遲。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM