Tôi muốn phát hiện xem điện thoại người dùng hiện tại có bàn phím phần cứng hay chỉ bàn phím ảo. Điều này có thể thực hiện với SDK không?Có cách nào trong Android để biết liệu thiết bị của người dùng có bàn phím thực hay không?
6
A
Trả lời
16
Có, bạn có thể.
Fetch đối tượng Configuration sử dụng
Configuration config = getResources().getConfiguration();
... và sau đó nhìn vào lĩnh vực keyboard
.
Nếu giá trị của chúng là keyboard
không phải là KEYBOARD_NOKEYS, người dùng có bàn phím phần cứng.
Lưu ý rằng dưới dạng @Carl cho biết trong nhận xét của mình bên dưới, người dùng có thể đính kèm bàn phím USB tại bất kỳ thời điểm nào trong khi ứng dụng của bạn đang chạy, khiến giá trị keyboard
thay đổi.
Các vấn đề liên quan
- 1. Android: làm cách nào tôi có thể biết liệu bàn phím mềm có đang hiển thị hay không?
- 2. Có cách nào phổ biến để biết liệu người dùng có đang giữ phím CTRL hay không?
- 3. Phát hiện xem các phím có sẵn trên bàn phím ảo trên thiết bị di động hay không
- 4. Có cách nào để biết liệu thiết bị Android có chỉ là wifi không?
- 5. Trang web có thể nhận biết bàn phím ảo android
- 6. Làm cách nào để biết liệu có bàn phím phần cứng?
- 7. Tôi làm cách nào để phát hiện người dùng có ở xa bàn phím không?
- 8. Làm thế nào để biết liệu bàn phím xuất hiện là Split hay bình thường?
- 9. Làm cách nào để biết người dùng có đang sử dụng nhiều màn hình hay không
- 10. Làm cách nào để biết liệu bộ cảm biến có trên thiết bị Android của tôi không?
- 11. cách phát hiện xem bàn phím người dùng có thuộc AZERTY trong Java không?
- 12. Làm cách nào để biết liệu QMutex có bị khóa hay không?
- 13. Cách dễ nhất để xác định xem người dùng có đang sử dụng thiết bị di động hay không
- 14. Tôi làm cách nào để biết liệu tel: có thực sự được liên kết với một thiết bị có thể thực hiện cuộc gọi không?
- 15. Có thể hack hacking. Làm cách nào để biết liệu db của tôi có bị xâm nhập hay không
- 16. Tôi có thể thay đổi đầu vào bàn phím của người dùng không?
- 17. Làm cách nào để biết thiết bị iOS có GPS?
- 18. Android - Làm cách nào để biết thiết bị có chỉ WiFi không?
- 19. 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?
- 20. Bàn phím mềm Android không hoạt động
- 21. Làm cách nào để biết liệu trình duyệt có trên thiết bị màn hình cảm ứng có JavaScript không?
- 22. C#: cách biết liệu 'tài khoản người dùng' có tồn tại trong các cửa sổ không?
- 23. Có cách nào thống nhất để biết liệu một nút có hiển thị hay không?
- 24. Làm thế nào để biết liệu người dùng có đang cuộn khung dữ liệu
- 25. Làm cách nào để biết liệu chương trình của tôi có bật ARC hay không?
- 26. cách biết liệu một UITextView có tập trung hay không
- 27. Làm cách nào để đọc lối tắt bàn phím tùy chỉnh từ người dùng trong WPF?
- 28. Làm cách nào để biết liệu thiết bị Cocoa Touch có thể thực hiện cuộc gọi không?
- 29. Có cách nào để nhận dữ liệu nhập của người dùng mà không cần nhấn phím enter?
- 30. Làm cách nào để kiểm tra xem người dùng này có ẩn danh hay thực sự là người dùng trên hệ thống của tôi không?
Cảm ơn những gì tôi đang tìm kiếm. – Bryan
Mặc dù người dùng KHÔNG có bàn phím phần cứng nếu config.keyboard KHÔNG KEYBOARD_NOKEYS, cần lưu ý rằng thiết bị có thể báo cáo KEYBOARD_NOKEYS, nhưng sau đó có bàn phím USB bên ngoài được gắn vào nó và báo cáo KEYBOARD_QWERTY, tất cả trong khi ứng dụng của bạn đang chạy. Ít nhất, tôi có một GTablet chạy CyanogenMod 7.0.3-Harmony/Android 2.3.3 thực hiện chính xác điều đó. Và cũng có thể, giá trị của bàn phím, khi không KEYBOARD_NOKEYS, là KEYBOARD_12KEY, thay vì KEYBOARD_QWERTY, vì vậy nếu loại bàn phím quan trọng đối với bạn, bạn có thể muốn kiểm tra những điều này một cách cụ thể. – Carl
@Carl - được cập nhật để bao gồm lại điểm: bàn phím được đính kèm giữa thực thi của ứng dụng. Cảm ơn. – razlebe