2016-12-27 41 views
1

我想在我的應用程序使用此行代碼返回的語言環境是什麼:,而不是使用過時的語言環境

Locale current = getResources().getConfiguration().locale; 

的minSdkVersion是15和24帶有但是locale已經過時編譯,它會影響我的應用效率嗎?

是否有任何其他'不推薦'的方式來檢索語言環境?

+0

的可能的複製[如何獲得當前的locale(API等級24)?(http://stackoverflow.com/questions/38267213/how-to-get-the-current-locale-api-水平-24) –

+0

我的意思是,如果這棄用當地影響我的應用效率 – NawalSalameh

回答

2

如果您正在使用API​​ 24或以上,你應該這樣做編譯。儘管如此,它會顯示爲較低的一個,但您可以忽略它。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { 
    locale = getResources().getConfiguration().getLocales().get(0); 
} else { 
    locale = getResources().getConfiguration().locale; 
} 
+0

是的,我用API編寫24 :) – NawalSalameh

+0

謝謝,這正是我想要:) – NawalSalameh

+0

警告答案:N返回區域設置的列表,和加載字符串將嘗試如果沒有可用的資源回退到下一區域。所以只看第一個可能是沒有意義的。 –