溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么用java實現(xiàn)通過安卓底層的接口獲取系統(tǒng)語言

發(fā)布時間:2021-12-18 14:10:32 來源:億速云 閱讀:217 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容主要講解“怎么用java實現(xiàn)通過安卓底層的接口獲取系統(tǒng)語言”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“怎么用java實現(xiàn)通過安卓底層的接口獲取系統(tǒng)語言”吧!

事情的起因是做海外項目的時候需要進(jìn)行多語言處理。我們通過Unity自帶的Application.systemLanguage接口獲取手機的語言環(huán)境一直沒啥問題。但是在華為手機的安卓9系統(tǒng)的時候,我們在切換到繁體中文之后,通過Unity的接口發(fā)現(xiàn)使用顯示是ChineseSimplified簡體中文。

一開始我們想的是Unity引擎可能沒有兼容到,所以開始編寫java代碼,通過安卓底層的接口去獲取系統(tǒng)語言。

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;
}

我們使用上面的接口發(fā)現(xiàn)在手機系統(tǒng)是繁體中文的情況下,獲取到的仍然是zh-cn.也就是安卓底層也是沒法獲取正確。但是手機顯示的語言確實是繁體中文。怎么辦呢?

既然顯示的是繁體中文,那么我們就根據(jù)顯示的語言來處理就好了。java底層還有這樣一個接口

locale.getDisplayCountry();

獲取顯示的國家。我們發(fā)現(xiàn)顯示的是 “中國”。好了我們通過編寫java代碼獲取到DisplayCountry,然后和 “中國”進(jìn)行比對,相等即認(rèn)定為繁體中文。

到此,相信大家對“怎么用java實現(xiàn)通過安卓底層的接口獲取系統(tǒng)語言”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI