我在我的应用程序中使用了firebase远程配置。我有两个参数message1和message2,如下图所示。语言条件也可以在图像中看到(它适用于阿拉伯语和法语)。
用户可以在应用程序开始时选择应用程序语言(单独的活动),这是我用来更改语言的代码:
Locale locale = new Locale("ar");//or "fr" if user selects french
Locale.setDefault(locale);
Configuration configuration = new Configuration();
configuration.locale = locale;
getResources().updateConfiguration(configuration, getResources().getDisplayMetrics());
这是我用来从firebase获取数据的代码:
mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
mFirebaseRemoteConfig.setDefaults(R.xml.remote_config_defaults);
long cacheExpiration = 0;
mFirebaseRemoteConfig.fetch(cacheExpiration)
.addOnCompleteListener(MainActivity.this, new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Toast.makeText(MainActivity.this, "Fetch Succeeded",
Toast.LENGTH_SHORT).show();
// After config data is successfully fetched, it must be activated before newly fetched
// values are returned.
mFirebaseRemoteConfig.activateFetched();
} else {
Toast.makeText(MainActivity.this, "Fetch Failed",
Toast.LENGTH_SHORT).show();
}
String welcomeMessage1 = mFirebaseRemoteConfig.getString("message1");
String welcomeMessage2 = mFirebaseRemoteConfig.getString("message2");
}
});
现在的问题是,每当我试图从服务器获取message1和message2时,它只返回默认的英语文本,而不会返回相应的阿拉伯语或法语区域设置文本。为什么会这样呢?请帮帮忙。
发布于 2019-03-15 00:34:38
检查设备语言,而不是应用程序语言,因此我认为您需要添加一个包含应用程序语言的user property,并与其进行比较
https://stackoverflow.com/questions/53779052
复制相似问题