2010-09-04 3 views
3

Пожалуйста, дайте мне знать, как решить эту проблему.Как обновить существующие уведомления о статусной панели при изменении локали

Сообщения о статусной панели отображаются на языке X даже после того, как язык локали изменен с X на Y. Пожалуйста, помогите мне, что нужно сделать, чтобы обновить его. Например: Даже после изменения языкового стандарта из En в Ja сообщения уведомлений в строке состояния отображаются только в En. I. Приложение, отправляющее уведомление о статусной строке, запускается в первый раз на языке En.

Благодаря Венугопал

ответ

1

В теории, это должно работать:

Шаг № 1: Зарегистрировать BroadcastReceiver в манифесте, наблюдая за ACTION_LOCALE_CHANGED.

Шаг 2: Когда BroadcastReceiver вызывается с onReceive(), cancel() и повторно поднять Notification, если ваш Notification находится на экране.

Уловка заключается в том, что вам нужно будет знать, находится ли ваш экран Notification или нет. Это не очень прямолинейно. Вы можете попробовать технику, изложенную в this StackOverflow answer, хотя я не пробовал эту технику лично. Я подал issue с запросом метода isActive() на номер NotificationManager или его эквивалент, чтобы помочь заполнить этот пробел.

Смежные вопросы