相关疑难解决方法(0)

Android N以编程方式更改语言

我发现非常奇怪的错误只能在Android N设备上重现.

在浏览我的应用程序时,有可能改变语言.这是改变它的代码.

 public void update(Locale locale) {

    Locale.setDefault(locale);

    Configuration configuration = res.getConfiguration();

    if (BuildUtils.isAtLeast24Api()) {
        LocaleList localeList = new LocaleList(locale);

        LocaleList.setDefault(localeList);
        configuration.setLocales(localeList);
        configuration.setLocale(locale);

    } else if (BuildUtils.isAtLeast17Api()){
        configuration.setLocale(locale);

    } else {
        configuration.locale = locale;
    }

    res.updateConfiguration(configuration, res.getDisplayMetrics());
}
Run Code Online (Sandbox Code Playgroud)

这段代码非常适合我的游览活动(通过recreate()调用),但在所有下一个活动中,所有String资源都是错误的.屏幕旋转修复它.我该怎么办这个问题?我应该以不同方式更改Android N的区域设置,还是只是系统错误?

PS这是我发现的.首次启动MainActivity(在我的巡演之后)Locale.getDefault()是正确的,但资源是错误的.但在其他活动中,它给了我错误的Locale和来自此语言环境的错误资源.旋转屏幕(或可能是其他一些配置更改)Locale.getDefault()是正确的.

java android android-7.0-nougat

52
推荐指数
3
解决办法
3万
查看次数

在android app bundle上处理app中的动态语言更改

我使用了最新的android包装格式捆绑包,并将我的应用发送到Beta渠道,捆绑减少了应用大小的〜60%,这真是太棒了,

我的应用程序支持英语和阿拉伯语(可以在应用程序中即时切换)

现在的问题是:AFAIK基本apk将仅在应用程序下载期间具有用于用户语言的资源(如果在下载时,如果语言是英语,则只会对string-en.xml进行废弃)

所以我该如何处理用户在应用内切换语言的情况..

请告诉我..

android localization apk

15
推荐指数
2
解决办法
1190
查看次数

标签 统计

android ×2

android-7.0-nougat ×1

apk ×1

java ×1

localization ×1