2016-11-03 3 views
4

오늘 알림 아이콘에 이상한 문제가 있습니다.Android 알림 아이콘이 흰색 동그라미입니다.

그것은 다음과 같습니다 enter image description here (흰색 원 ...)

내가 뭔가 나쁜 짓을 한거야? 여기

Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); 
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this) 
       .setSmallIcon(R.drawable.icon_notification) 
       .setContentTitle(this.getString(R.string.notification_title)) 
       .setContentText(this.getString(R.string.notification_text)) 
       .setAutoCancel(true) 
       .setSound(defaultSoundUri) 
       .setContentIntent(pendingIntent); 

내 아이콘 이미지 (갓 https://material.io/icons/#ic_photo 여기에서 다운로드)된다 http://image.noelshack.com/fichiers/2016/44/1478185219-icon-notification.png

내가 뭔가를 놓친 건가?

레코드의 경우 SDK 24를 사용 중이며 hdpi 리소스 폴더 만 생성했습니다.

편집 # 1 : 나는

편집 # 2 ... 아무것도 변화의 ldpi, mdpixhdpi 아이콘을 추가했습니다 : 더 정밀, 나는 서비스에서이 알림을 만들려고 해요 .. FCM 메시징 서비스 ...

답변

2

컴파일하는 동안 캐시의 문제 ... 나는 (완전 컬러) 나쁜 사용 된 첫 번째 이미지 것 같다, 그래서 난 내 compilator가에 캐시 였을을 만들어 생각 파일 이름.

나는 윈도우에서 작동하며 이렇게했다 : 내 휴대폰에서 응용 프로그램을 제거하고, 다시 컴파일 할 때 Android sudio =>에서 모든 캐시를 무효화한다.

2

배경이없는 알림 아이콘을 사용해야합니다. Android에서 서클 배경을 추가합니다.

당신은 앱 indentity에 맞게

.setColor(context.getResources().getColor(R.color.colorPrimary))

와 배경 색상을 설정할 수 있습니다.

내부 아이콘은 흰색으로 유지되고 원은 사용자가 정의한 색상을 유지합니다.

On Android Studio On system bar On notification

+0

감사합니다! 너 나 한테 배웠어! 하지만이 트릭을하지 않았다 : / – PoulsQ

1

compileSDKversion이 20 이상이면 알림 아이콘은 투명한 배경 이미지에 흰색이어야합니다. 그렇지 않으면 이미지가 흰색으로 렌더링됩니다.

가이드 라인이 아이콘

https://www.google.com/design/spec/patterns/notifications.html

또한 알림 아이콘 생성기를 만드는 데 너무을 위해 아래 링크를 통해 이동하십시오.

https://romannurik.github.io/AndroidAssetStudio/icons-notification.html#source.space.trim=1&source.space.pad=0&name=ic_stat_example

0

참고 : - 장치가 20 위의 안드로이드 버전이있는 경우에 당신은 투명 배경 아이콘을 생성해야하고,이 조각 알림 사용을 생성하는 동안

int currentapiVersion = android.os.Build.VERSION.SDK_INT; 
if (currentapiVersion >= android.os.Build.VERSION_CODES.LOLLIPOP){ 
     currentapiVersion=R.mipmap.ic_notification_lolipop; 
} else{ 
     currentapiVersion=R.mipmap.ic_launcher; 
} 

NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this) 
      .setSmallIcon(currentapiVersion)...... 
0

는 U는 별도의 아이콘이 생성이 필요합니다 실행기 아이콘의 흰색 버전이됩니다. U는 그러한 아이콘을 생성하기 위해 아래의 링크를 사용할 수 있습니다.

https://romannurik.github.io/AndroidAssetStudio/icons-notification.html#source.type=clipart&source.clipart=ac_unit&source.space.trim=1&source.space.pad=0&name=ic_stat_ac_unit

참고 : 당신은 투명 배경으로하여 실행 아이콘의 PNG 이미지를 업로드해야합니다.

아이콘을 설정 들어

u는이

private int getSmallIconForNotification(){ 
    return (Build.VERSION.SDK_INT>Build.VERSION_CODES.LOLLIPOP)? R.mipmap.ic_stat_launcher : R.mipmap.ic_launcher; 
} 

코드 사용과 같은 방법을 가질 수 있습니다

private NotificationCompat.Builder createNotificationBuilder(){ 
    return new NotificationCompat.Builder(this) 
      .setSmallIcon(getSmallIconForNotification()) 
      .setContentTitle("New Message") 
      .setContentText("Hi there.....") 
      .setAutoCancel(true); 
}