Локаль не меняется в FirebaseMessagingService - PullRequest
0 голосов
/ 14 февраля 2019

Язык моего приложения турецкий, а язык устройства - английский.Я могу установить язык турецкий с кодом ниже плавно.Все страницы приложения изменяются правильно.

private void changeLang(String locale) {
        Resources res = this.getResources();
        DisplayMetrics dm = res.getDisplayMetrics();
        Configuration conf = res.getConfiguration();
        conf.setLocale(new Locale(locale.toLowerCase()));
        res.updateConfiguration(conf, dm);

        Configuration newConfig = new Configuration();
        newConfig.locale = new Locale(locale.toLowerCase());
        onConfigurationChanged(newConfig);
    }

Но когда я отправляю push-уведомление, текст уведомления по-прежнему английский.Я вижу английскую локаль, когда я отлаживаю.

    public class MyFirebaseMessagingService extends FirebaseMessagingService {

        @Override
        public void onMessageReceived(RemoteMessage remoteMessage) {
             Locale current = getResources().getConfiguration().locale;
            //current not change, always english
        }
    }

Почему сервис не может получить истинную локаль, всегда получайте локаль устройства.

...