我正在使用react-native-device-info来获取DeviceLocale或DeviceCountry。但有没有办法,我可以更新设备信息而无需重新启动应用程序。 例如,在设备设置上如果我的语言设置为“英语(美国)”,则设备信息凸轮检测到该设置,但如果我将设置更改为“英语(CA)”,则设备信息无法捕获该设置直到我重启应用程序。
非常感谢任何帮助。
答案 0 :(得分:0)
您是如何更改语言设置的?
如果内置...你可以做一些事情,比如将语言设置为组件的状态,一旦调用函数来更改语言设置,你可以设置state并且它会更新具有新值的组件。
如果您正在谈论跳出应用程序并手动更改语言设置,那么可以设置创建setInterval以检查设备信息是否有效。
答案 1 :(得分:0)
假设您在组件的类定义之外定义对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
更改时调用它。