您好,登錄后才能下訂單哦!
本篇內容主要講解“怎么用java實現通過安卓底層的接口獲取系統語言”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么用java實現通過安卓底層的接口獲取系統語言”吧!
事情的起因是做海外項目的時候需要進行多語言處理。我們通過Unity自帶的Application.systemLanguage接口獲取手機的語言環境一直沒啥問題。但是在華為手機的安卓9系統的時候,我們在切換到繁體中文之后,通過Unity的接口發現使用顯示是ChineseSimplified簡體中文。
一開始我們想的是Unity引擎可能沒有兼容到,所以開始編寫java代碼,通過安卓底層的接口去獲取系統語言。
public String GetDeviceLanguage()
{
Locale locale = Locale.getDefault();
//>=24 is Android 7.0 or high
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
locale = getResources().getConfiguration().getLocales().get(0);
}
String language = locale.getLanguage() + "-" + locale.getCountry();
return language;
}
我們使用上面的接口發現在手機系統是繁體中文的情況下,獲取到的仍然是zh-cn.也就是安卓底層也是沒法獲取正確。但是手機顯示的語言確實是繁體中文。怎么辦呢?
既然顯示的是繁體中文,那么我們就根據顯示的語言來處理就好了。java底層還有這樣一個接口
locale.getDisplayCountry();
獲取顯示的國家。我們發現顯示的是 “中國”。好了我們通過編寫java代碼獲取到DisplayCountry,然后和 “中國”進行比對,相等即認定為繁體中文。
到此,相信大家對“怎么用java實現通過安卓底層的接口獲取系統語言”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。