我正在使用react-native-device-info来获取DeviceLocale或DeviceCountry。但有没有一种方法可以在重新启动应用程序时更新设备信息。 例如,在设备设置上如果我的语言设置为“英语(美国)”,则设备信息凸轮会检测到该设置,但如果将设置更改为“英语(CA)”,则设备信息无法捕获我重新启动应用程序。动态更新设备信息原生
任何帮助非常感谢。
我正在使用react-native-device-info来获取DeviceLocale或DeviceCountry。但有没有一种方法可以在重新启动应用程序时更新设备信息。 例如,在设备设置上如果我的语言设置为“英语(美国)”,则设备信息凸轮会检测到该设置,但如果将设置更改为“英语(CA)”,则设备信息无法捕获我重新启动应用程序。动态更新设备信息原生
任何帮助非常感谢。
你如何改变语言的设置?
如果它是内置的......你可以做一些事情,比如将语言设置为组件的状态,并且一旦调用函数来更改语言设置,就可以设置状态并且它将用新值更新组件。
如果您正在讨论跳出应用程序并手动更改语言设置,则可能会设置创建setInterval来检查设备信息是否可用。
假设你在组件的类定义之外定义对DeviceInfo
的引用,你可以尝试像这样在里面移动它。
class MyComponent extends React.Component {
checkDeviceInfo() {
let DeviceInfo = require('react-native-device-info');
let locale = DeviceInfo.getDeviceLocale();
// do something with locale
}
render() {
return (
<TouchableOpacity onPress={this.checkDeviceInfo.bind(this)}>
<Text>Touch Here</Text>
</TouchableOpacity>
)
}
}
以便它只要你想检查DeviceInfo
变化叫你可以把这个在你的组件。
DeviceInfo不会被更新,直到我们重新启动应用程序。我想通过用户交互来更新它。 – Vinay
你可以..这就是我的代码在做什么..只需在用户交互过程中调用'someFuncToCheckDeviceInfo'。 –
嗨马特, 我正在手动更改语言。 SetInterval不是一个用户操作,所以它会一直重复。 我正在寻找一种方法来触发用户界面上的下面的代码(例如,在导航时)。因此,它只发生一次。让DeviceInfo = require('react-native-device-info'); let locale = DeviceInfo.getDeviceLocale(); – Vinay