2013-04-09 2 views
2

제 질문은 간단합니다. 그러나 오랫동안 그 문제를 해결할 수 없었기 때문에 여기에서 묻고 있습니다.안드로이드 상태 표시 줄에 NotificationCompat.Builder 알림`아이콘을 숨기는 방법?

상태 표시 줄에 표시되는 진행중인 알림의 아이콘을 숨기는 방법은 무엇입니까? NotificationCompat.Builder 개체로 알림을 만듭니다. (아이콘을 표시하는 옵션이 선택 취소 된 경우) 건너 뛴 후 builder.setSmallIcon() 함수 호출이 발생했지만 알림 화면에 알림이 표시되지 않았습니다.

답변

3

상태 표시 줄에 표시되는 진행중인 알림 아이콘을 숨기는 방법은 무엇입니까?

그렇지 않습니다.

builder.setSmallIcon() 함수 호출을 건너 뛰었으므로 (아이콘 표시 옵션이 선택 취소 된 경우), 통지 화면에 알림이 표시되지 않았습니다.

수정. Notification을 올리는 주된 포인트는 상태 표시 줄에 아이콘을 넣는 것이므로 이 아니며 상태 표시 줄에 아이콘을 넣을 수 없습니다.

+0

좋아, 감사 : 안드로이드 8.0 오레오 (API 레벨 26)의로


builder.setPriority(NotificationCompat.PRIORITY_MIN); 

당신은 NotificationChannel를 만들고 해당 importanceIMPORTANCE_MIN로 설정해야합니다. :) 그래서, 내가 올바르게 이해한다면, 다른 앱이 런타임 이벤트에서 아이콘을 보이거나 숨길 수있는 옵션을 제공 할 때, 대신 전체 알림으로 작동합니까? 추신. 나는 당신의 대답의 비율을 올릴 것이나, 나는 분 명성 수준이 없다. – aphelion

+0

@aphelion : "그래서, 올바르게 이해하면, 다른 앱이 런타임 이벤트에서 아이콘을 보이거나 숨길 수있는 옵션을 제공 할 때 대신 전체 알림을 사용하여 작동합니까?" 아마도. – CommonsWare

9

Android 4.1 (API 16) 이후로 알림 priority을 지정할 수 있습니다. set that flag ~ PRIORITY_MIN 인 경우 상태 표시 줄에 알림 아이콘이 표시되지 않습니다. 그것을 명확히하기위한

NotificationChannel channel = 
     new NotificationChannel(channelId, channelName, NotificationManager.IMPORTANCE_MIN); 
notificationManager.createNotificationChannel(channel); 
... 
builder.setChannelId(channel.getId()); 
+0

그것은 유용한 해결책이지만, 초기의 안드로이드 버전을 목표로하기 때문에 저에게는 효과적이지 않습니다. – aphelion