gpt4 book ai didi

java - 更改语言 三星 S8+

转载 作者:行者123 更新时间:2023-12-02 00:35:56 27 4
gpt4 key购买 nike

我在 Samsung S8+ (android 9.0) 中遇到更改语言问题。我已将一个版本 .aab(“Android App Bundle 格式”)文件扩展名上传到“我的应用程序”的 Google Play 商店。现在我在 Play 商店上找到了这个应用程序,我可以轻松下载。我已在多个设备上安装了此应用程序并且运行良好。

但是当我更改三星 S8+ 设备上的语言时,该语言无法正常工作。在我们的应用程序中,我们使用英语和日语两种语言,但为什么不能在我不知道的三星 S8+ 设备上工作,而在另一个设备上工作得很好。

然后我在三星 S8+ 上安装了发行版 .apk 并正常运行。所以我想知道为什么 .aab 不起作用而 .apk 起作用。请给出你的答案。

请检查使用的代码

这是更改语言的基本方法

public void updateLocale() {
String locality = MyApplication.getInstance().getSharedPref().getLanguage();
if (locality != null && !locality.isEmpty() && locality.equals(Locale.ENGLISH.toString())) {
Configuration configuration = getResources().getConfiguration();
if (Build.VERSION.SDK_INT >= 17) {
configuration.setLocale(new Locale(Locale.ENGLISH.toString()));
} else {
configuration.locale = new Locale(Locale.ENGLISH.toString());
}
getResources().updateConfiguration(configuration, getResources().getDisplayMetrics());
onConfigurationChanged(configuration);
} else {
Configuration configuration = getResources().getConfiguration();
if (Build.VERSION.SDK_INT >= 17) {
configuration.setLocale(new Locale(Locale.JAPANESE.toString()));
} else {
configuration.locale = new Locale(Locale.JAPANESE.toString());
}
getResources().updateConfiguration(configuration, getResources().getDisplayMetrics());
onConfigurationChanged(configuration);
}
}

在更改语言屏幕上

Switch svChangeLang;

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

mSharedPref = new SharedPreference(getApplicationContext());
svChangeLang = (Switch) findViewById(R.id.sv_change_lang);

String lanCode = mSharedPref.getLanguage();
if (lanCode.equals(Locale.ENGLISH.toString()))
svChangeLang.setChecked(true);
else
svChangeLang.setChecked(false);

svChangeLang.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (!isChecked)
svChangeLang.setChecked(false);
else
svChangeLang.setChecked(true);
mSharedPref.setLanguage(isChecked ? Locale.ENGLISH.toString() :
Locale.JAPANESE.toString());

updateLocale();
}
});
}

最佳答案

默认情况下,App Bundle 无法实现这一点:Google Play 仅在设备选择的语言发生更改时才下载资源。

Solution First

解决方案二:

android {
bundle {
language {

enableSplit = false
}
}

}

但是第二种解决方案增加了app sie

关于java - 更改语言 三星 S8+,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57974023/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com