2013-02-08 32 views
6

Tôi phát triển một ứng dụng gửi sms và tôi muốn biết ngôn ngữ mà người dùng sử dụng. vì vậy, khi người dùng nhập một tin nhắn làm thế nào tôi có thể biết ngôn ngữ mà anh/cô ấy sử dụng?Làm cách nào để biết ngôn ngữ bàn phím? (en/fr)

+1

http://developer.android.com/reference/android/view/inputmethod/InputMethodManager.html#getCurrentInputMethodSubtype%28%29 – hakiko

Trả lời

10

có được người quản lý loại đầu vào bằng cách sử dụng:

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 

sau đó, chọn những gì để có được từ nó bằng cách sử dụng phương pháp tiếp theo:

http://developer.android.com/reference/android/view/inputmethod/InputMethodManager.html#getCurrentInputMethodSubtype%28%29

hay: http://developer.android.com/reference/android/view/inputmethod/InputMethodManager.html#getLastInputMethodSubtype()

cùng với điều này để có được ngôn ngữ của kiểu đầu vào:

http://developer.android.com/reference/android/view/inputmethod/InputMethodSubtype.html#getLocale()

+1

hi guy, nhưng giải pháp này có sẵn trong API 11 và tôi muốn sử dụng nó cho android 2.3! cách sử dụng ý tưởng của bạn cho các phiên bản thấp hơn trước API 11. – NrNazifi

+0

điểm tốt. xin lỗi vì đã bỏ lỡ nó. có thể đọc từ mã android và xem liệu có cách nào khắc phục nó cho các phiên bản cũ hơn không. –

0

Không thể truy xuất ngôn ngữ bàn phím hiện tại. Android không cho phép truy xuất ngôn ngữ được định cấu hình hiện tại, không có bất kỳ API nào.

4

Bạn có thể nhận ngôn ngữ bàn phím bằng cách phát hiện ngôn ngữ bàn phím thiết bị lần đầu tiên và sau đó nhận đối tượng Locale từ đó. Ví dụ:

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
    InputMethodSubtype ims = imm.getCurrentInputMethodSubtype(); 
    String localeString = ims.getLocale(); 
    Locale locale = new Locale(localeString); 
    String currentLanguage = locale.getDisplayLanguage(); 

Ở đây, currentLanguage sẽ cung cấp ngôn ngữ bàn phím của bạn. Hi vọng điêu nay co ich.

+0

Chúng ta nên làm gì khi ims là null? – Patzu

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