안드로이드 개발 질문/답변
(글 수 45,052)
Notification list에 특정 내용을 등록할 때 다음과 같은 형식으로 사용을 합니다.
Notification notification = new Notification(iconRes, tickerMsg, 0);
notification.setLatestEventInfo(context, tickerMsg, description, pendingIntent);
NotificationManager nm = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
nm.notify(DELIVERY_ID, notification);
여기에서 tickerMsg가 바로 notification list에 d/p되는 string인데요,
문제는 이 notification이 자체적으로 locale을 지원하지 않고 있다는 것입니다.
Resource의 values와 values-ko에 모두 등록이 되어있는 string을 tickerMsg에 getString(R.string.X)와 같이 넘겨준다고 하더라도,
Notification.java와 NotificationManager.java의 내부를 살펴보면 호출 당시에 들어온 string 값을 저장할 뿐이기 때문에,
notication에 한글인 상태에서 특정 내용이 등록된 후 설정에서 locale을 영어로 변경을 하면,
등록된 내용은 이전 그대도 한글 string을 유지한다는 것이지요.
반대로 영문 설정 상태에서 등록된 영문문구를 한글로 locale 후에도 현상은 동일합니다.
그런데, 출시된 폰의 notification 상단에 있는 간편설정 문구 및 아이콘 등을 보면,
locale 후에 해당 내용이 분명히 한/영 상태에 맞게 변화가 된단 말입니다.
뿐만아니라, notification에 등록된 내용을 locale 후에 한/영 상태로 변경되는 폰도 분명히 보았습니다.
(SK 텔레시스의 리액션 폰에서 메시지 수신 후 미확인 메시지 X건 표시 문구)
대체, Notification list에 이미 등록한 내용을 locale 후 설정 상태에 맞게 string을 변경하려면 어떻게 해야 하는 것인가요?
짐작컨데, 분명히 locale 후 notification에 특정 id 값으로 등록된 내용이 있는지 확인 후,
특정 id로 등록된 내용이 있을 경우 해당 내용을 cancel하고 변경된 locale(현재) 상태의 string으로 다시 notify 해주는
이런 형태가 되어야 할 것 같은데, locale 후 해당 내용을 처리할 수 있는 시점 및 notification에 등록된 내용을 확인하는 방법을
모르겠네요...... ;;;;;;;;;
Notification notification = new Notification(iconRes, tickerMsg, 0);
notification.setLatestEventInfo(context, tickerMsg, description, pendingIntent);
NotificationManager nm = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
nm.notify(DELIVERY_ID, notification);
여기에서 tickerMsg가 바로 notification list에 d/p되는 string인데요,
문제는 이 notification이 자체적으로 locale을 지원하지 않고 있다는 것입니다.
Resource의 values와 values-ko에 모두 등록이 되어있는 string을 tickerMsg에 getString(R.string.X)와 같이 넘겨준다고 하더라도,
Notification.java와 NotificationManager.java의 내부를 살펴보면 호출 당시에 들어온 string 값을 저장할 뿐이기 때문에,
notication에 한글인 상태에서 특정 내용이 등록된 후 설정에서 locale을 영어로 변경을 하면,
등록된 내용은 이전 그대도 한글 string을 유지한다는 것이지요.
반대로 영문 설정 상태에서 등록된 영문문구를 한글로 locale 후에도 현상은 동일합니다.
그런데, 출시된 폰의 notification 상단에 있는 간편설정 문구 및 아이콘 등을 보면,
locale 후에 해당 내용이 분명히 한/영 상태에 맞게 변화가 된단 말입니다.
뿐만아니라, notification에 등록된 내용을 locale 후에 한/영 상태로 변경되는 폰도 분명히 보았습니다.
(SK 텔레시스의 리액션 폰에서 메시지 수신 후 미확인 메시지 X건 표시 문구)
대체, Notification list에 이미 등록한 내용을 locale 후 설정 상태에 맞게 string을 변경하려면 어떻게 해야 하는 것인가요?
짐작컨데, 분명히 locale 후 notification에 특정 id 값으로 등록된 내용이 있는지 확인 후,
특정 id로 등록된 내용이 있을 경우 해당 내용을 cancel하고 변경된 locale(현재) 상태의 string으로 다시 notify 해주는
이런 형태가 되어야 할 것 같은데, locale 후 해당 내용을 처리할 수 있는 시점 및 notification에 등록된 내용을 확인하는 방법을
모르겠네요...... ;;;;;;;;;