Chúng tôi có một ứng dụng Android hoạt động như một ứng dụng khách cho một chương trình PC từ xa. Chúng tôi muốn thêm một tính năng để PC có thể hướng dẫn ứng dụng Android thay đổi ngôn ngữ của nó trong thời gian chạy, tức là, khởi động ứng dụng; đưa nó vào giao tiếp với PC; đôi khi PC nói với ứng dụng để chuyển sang, nói, tiếng Tây Ban Nha hoặc Trung Quốc.Thay đổi ngôn ngữ khi chạy?
Chúng tôi đã có tất cả các bố cục và tài nguyên chuỗi được thiết lập cho ngôn ngữ tương ứng của chúng. Ứng dụng của chúng tôi là ứng dụng duy nhất mà người dùng nhìn thấy nên không quan trọng nếu phần còn lại của thiết bị vẫn bằng tiếng Anh.
Có một chuỗi khác trên trang này tại Change language programmatically in Android nhưng dường như không đạt được kết luận.
Tôi có thể đặt. . .
Locale locale = new Locale(sTheNewLocale);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
. . . trong onCreate() trước setContentView() nhưng điều đó không thực sự hữu ích nếu tôi muốn thay đổi ngôn ngữ sau khi màn hình của tôi bật lên và đang chạy. Có cách nào để tải lại chế độ xem nội dung sau khi Hoạt động đã chạy không? Vì vậy, là có cách nào thực tế để thay đổi ngôn ngữ một cách đáng tin cậy hoặc tôi có phải nói với sếp của mình không thể thực hiện ngoại trừ việc đặt toàn bộ thiết bị sang ngôn ngữ mới trước khi bắt đầu ứng dụng?
Phương thức 'updateConfiguration()' không được chấp nhận. Đây là giải pháp không được chấp nhận: http://stackoverflow.com/questions/40221711/android-context-getresources-updateconfiguration-deprecated – wilkas
config.locale được khấu hao quá –
@HasanAliKaraca cũng được đề cập trong câu trả lời được liên kết. – weston