在我的应用程序中,我以这种方式设置语言环境:
public void setLocale(String lang) {
Locale locale = new Locale(lang);
Locale.setDefault(locale);
Configuration config = getBaseContext().getResources().getConfiguration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
}
我在Activity中调用这个方法。一切正常,直到我在所有资源更改为默认值之后放置 admob 横幅。
我在这里发现了类似的问题 Admob reset app locale to system default但那个解决方案对我没有帮助。我应该怎么做才能解决这个问题?
我找到的一个解决方案是根据所选语言环境在代码中设置所有资源,但这对我来说太长了,而且如果您有两种以上的语言也不方便。
或者,如果有人拥有带 admob 横幅的多语言应用,请举例说明您如何实现本地化。
最佳答案
对我有帮助:
@Override
public void onAdLoaded() {
// Code to be executed when an ad finishes loading.
setPref();
}
setPref() 是设置语言环境的方法
关于android - admob 将区域设置重置为默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44740089/