[英]Change language settings (locale) for the device
不確定是否直接從應用程序設置它,但如果您想將用戶發送給自己進行更改,請嘗試以下操作:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setClassName("com.android.settings", "com.android.settings.LanguageSettings");
startActivity(intent);
還有另一種方法可以打開系統設置來更改語言:
Intent i = new Intent( android.provider.Settings.ACTION_LOCALE_SETTINGS );
startActivity( i );
它只顯示語言列表,當您選擇一種語言時 - 它會更改設備上的語言。
我找到了自己問題的另一個答案。 有一個開源代碼項目code.google.com/p/languagepickerwidget它正在重新創建一個ListActivity來顯示和選擇語言。
吉姆,你的解決方案非常簡單,正是我所需要的。 這是設置的重點。 在您發布之后,我立即在市場上上傳了一個名為“raygional”的應用。 如果我能(我只有6分)我會讓你的答案有用。
還有另一種方法可以查看流程和意圖。 在模擬器上,轉到菜單>開發工具>開發設置>,然后單擊顯示正在運行的進程
據我所知,在不使用Intents(其他解決方案提出的建議)的情況下更改設備的Locale的唯一方法是通過反射訪問內部類(具有這意味着的風險)。
您可以在此處找到此用例的確切示例: http : //www.tutorialforandroid.com/2010/07/access-internal-classes-in-android.html
如果您將意圖更改為:以擴展Jim的答案:
intent.setClassName("com.android.settings", "com.android.settings.LocalePicker");
它將直接在語言選擇列表中刪除用戶,一旦選擇了語言,它將返回到您的應用程序。
它會刪除單擊,不會讓用戶考慮選擇三個(語言,詞典和鍵盤)選項中的哪一個,並在選擇后立即返回到您的應用程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.