2017-12-23 34 views
2

밉맵을 사용하는 대신 외부 URL에서 PNG를 통해 작은 Android 알림 아이콘을 설정해야합니다. 외장 PNG 이미지를 전달하는 대신 사용하는Android 알림의 외부 URL에서 setSmallIcon을 설정하십시오.

if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 

     notificationBuilder.setSmallIcon(R.mipmap.ic_notification); 
     notificationBuilder.setColor(ContextCompat.getColor(getApplicationContext(), android.R.color.transparent)); 

    } 

필요 : R.mipmap.ic_notification

를 가능한 경우

사람이 알고 있나요?

+0

빌더와 관련하여 직접 생각하지 않습니다. 자원의'id' 인'int' 인수 만 필요합니다. – ADM

답변

3

Notification.Builder와 관련된 개발자 문서를 읽으면 setSmallIcon(int icon)에 사용할 드로어 블 패키지의 응용 프로그램 패키지에 A 리소스 ID가 필요함을 알 수 있습니다.

이미지를 다운로드하고 비트 맵으로 변환 한 다음 setSmallIcon(int resId)으로 설정하면 여전히 오류가 발생합니다. 당신은 예를 들어이 같은 드로어 블에 비트 맵 변환하더라도

:

Drawable d = new BitmapDrawable(getResources(), bmpFinal); 

는 아직도 그 그리기 응용 프로그램 패키지에 존재하지 않기 때문에 당신에게 오류를 줄 것입니다.

유일한 해결책은 패키지에있는 Drawable 리소스를 사용하고 setSmallIcon() 메서드로 설정하는 것입니다. 일반적인 용도 :

builder.setSmallIcon(R.drawable.ic_launcher); 

또는 또는 Bitmap 인스턴스가 필요합니다. 비트 맵이 이미 있기 때문에 현재 코드에서 추가로 변경하지 않고도 요구 사항을 충족하는 경우 그대로 사용할 수 있습니다.

그렇다면 이미 드로어 블 폴더 중 하나에 이미있는 Drawable 리소스를 사용해야합니다.