相关疑难解决方法(0)

Android获取设备区域设置

安装我的Android程序后,我检查设备区域设置:

String deviceLocale=Locale.getDefault().getLanguage();
Run Code Online (Sandbox Code Playgroud)

如果deviceLocale在我支持的语言(英语,法语,德语)内,我不会更改语言环境.

但是比如说如果我不支持设备的语言:例如西班牙语.
我将当前的语言环境设置为英语,因为大多数人可以部分理解英语.

Locale locale = new Locale("en");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
pContext.getResources().updateConfiguration(config, null);
Run Code Online (Sandbox Code Playgroud)

但在那之后,在其他方法中,当我检查设备的语言环境时,如下所示:

String deviceLocale=Locale.getDefault().getLanguage();
Run Code Online (Sandbox Code Playgroud)

我得到的结果是"英语".但设备的区域设置是西班牙语.

getLanguage()是否提供当前应用的区域设置?
如何获取设备的区域设置?

编辑:在应用程序的首次运行中,它是一个保存设备区域设置的选项.但是如果用户在保存后更改设备区域设置,则无法知道设备的新区域设置.我只能知道我在app install中保存的语言环境.

android locale

39
推荐指数
3
解决办法
5万
查看次数

从资源加载语言特定的字符串?

在我的一个Android应用中,我需要加载特定语言的字符串.例如:

 values:    <string name="txt_help">Help</string>
 values-de: <string name="txt_help">Hilfe</string>
 values-fr: <string name="txt_help">Aider</string>
Run Code Online (Sandbox Code Playgroud)

现在我需要默认(值)文本.

有没有办法加载给定语言"en"的密钥"txt_help"?我找不到可以将语言环境设置为附加参数的方法.

或者我可以创建具有给定语言环境的新ResourceManager并通过此资源对象读取String吗?

提前谢谢了.HJW

string resources android

33
推荐指数
1
解决办法
2万
查看次数

标签 统计

android ×2

locale ×1

resources ×1

string ×1