如果我启动我的应用程序并且我的设备(在这种情况下为Android)设置为西班牙语,则拨打platform.device.language
会按预期返回西班牙语的ISO代码。如果我最小化应用程序,将手机的语言更改为其他内容,然后继续使用我的应用程序,platform.device.language
仍会返回西班牙语,即使我已将其更改为德语等其他内容。
如果我完全关闭应用程序然后重新打开它,我就能获得正确的语言。我在过去的NS版本中使用了相同的工作流程,之前没有遇到过这个问题。是否有更新的方法来获取我不知道的设备语言?
我使用以下版本:
Nativescript:3.4.1 tns-core-modules:3.4.0 tns-android:3.4.1 tns-ios:3.4.1
答案 0 :(得分:1)
我对此问题的解决方案只涉及访问本机API。
let lang;
if (platform.isAndroid) {
lang = java.util.Locale.getDefault().getLanguage();
}
if (platform.isIOS) {
lang = NSLocale.preferredLanguages.firstObject;
} else {
platform.device.language;
}
显然,通过平台对象的Nativescript方法只会在应用程序启动后查询设备语言设置。