마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

notification icon 질문드려요..

0 추천

현재 notication icon 설정을 아래와 같이 하고 있습니다.

notification = new NotificationCompat.Builder(Context);	
notification.setTicker(sNotificationMessage);
notification.setSmallIcon(R.drawable.notification_icon);
notification.setDefaults(Notification.DEFAULT_LIGHTS| Notification.DEFAULT_VIBRATE| Notification.DEFAULT_SOUND);

그런데 notification이 오면 기본 아이콘이 보여지고 있습니다. 원인이 무엇인지 감이 오지 않습니다.

고수님들의 고견 부탁드립니다. 참고로 테스트 안드로이드 버전은 5.0.1 최신 버전입니다.

익명사용자 님이 2015년 8월 2일 질문
2015년 8월 2일 수정
푸시의 종류가 2가지가 있는데요,
notification 과 data 이렇게 2가지가 있습니다.
notification 푸시라면 OS단에서 처리하기떄문에
질문하신 코드처럼 셋팅을 해도 적용이 안되더라구요
(해당 코드를 아예 무시하고 OS가 그냥 뿌립니다)

우선 푸시종류를 한번 확인해보시고, 2가지 종류를 구분지어 뿌려줘야 합니다.

그리고 아마 notification이 onMessageReceived를 그냥 무시할텐데
이것을 notification 푸시를 onMessageReceived에서 가로챌수 있게 해주는 코드가 있는데요, 아래 소스를 myFirebaseMessaging 클래스에 한번 적용하고 테스트 해보시길..

    @Override
    public void handleIntent(Intent intent){
        try
        {
            if (intent.getExtras() != null)
            {
                RemoteMessage.Builder builder = new RemoteMessage.Builder("MyFirebaseMessagingService");
                for (String key : intent.getExtras().keySet())
                {
                    builder.addData(key, intent.getExtras().get(key).toString());
                }
                onMessageReceived(builder.build());
            }
            else
            {
                super.handleIntent(intent);
            }
        }
        catch (Exception e)
        {
            super.handleIntent(intent);
        }
    }

1개의 답변

0 추천
 
채택된 답변

notification.setSmallIcon(R.drawable.notification_icon);

이 코드에서 사용된 notification_icon 파일을 확인해보세요.

res -> Drawable에 없다면 안드로이드 기본에 있는걸 사용중이라는 겁니다.

llpmpll 님이 2015년 8월 3일 답변
모든 drawable 폴더에 사이즈 별로 넣었는데, 여전시 안드로이드 최신버전에서는 기본 아니콘이 보여지네요..
...