NotificationCompat.Builder.setSmallIcon( int resId );
setSmallIcon 이 지정되지 않으면 notification 은 등록이 아예 되지 않음.
Small Icon 은 status bar 에 뜨는 아이콘과 notification view 안의 우측에 표시됨.
만약 large icon 이 지정되지 않으면 notification view 안에 있는 icon 도 이녀석으로 지정됨.
만약 large icon 이 지정되어 있다면 content info 자리에 icon 이 같이 표시됨.
NotificationCompat.Builder.setLargeIcon( Bitmap bitmap );
Notification View 안에 있는 icon 이 지정됨.
NotificationCompat.Builder.setContentInfo( CharSequence text );
NotificationCompat.Builder.setContentText( CharSequence text );
NotificationCompat.Builder.setContentTitle( CharSequence text );
NotificationCompat.Builder.setNumber( int count );
NotificationCompat.Builder.setAutoCancel( boolean );
기본값은 false 로, notification 을 클릭했을 때 notification 이 사라지지 않는다.
클릭했을 때 사라지게 하려면 setAutoCancel 값을 true 로 주어야 한다.
NotificationCompat.Builder.setWhen( long );
Notification 의 시간 표시를 설정할 수 있다.
NotificationCompat.Builder.addAction(int resId, CharSequence title, PendingIntent pIntent);
Notification View 의 하단에 PendingIntent 를 실행하는 버튼들을 추가할 수 있다.
최대 3개까지 추가할 수 있으며, 이 녀석을 사용하기 위해서는
NotificationCompat.Builder.setPriority( int priority );
를 통해서 NotificationCompat.PRIORITY_HIGH 로 설정되어야 한다.
** 이 녀석은 Android 4.1 이상에서만 작동한다.
NotificationCompat.Builder.setFullScreenIntent(PendingIntent pIntent, boolean highPriority);
Notification 을 등록하면서 바로 pendingintent 를 실행시킨다.
정말 엄~청나게 중요한 일이 아니면 사용하지 않는 것이 추천된다.
예를 들면 전화받기라던지, 알람시계라든지 등의 경우를 제외하면 말이다.
만약 그 외의 상황에서 사용하고 싶다면 이 방법을 disable 할 수 있는 option 을 주는 것이 좋다.
NotificationCompat.Builder.setOngoing( boolean ongoing );
ongoing noti 는 notification panel 에서 상단으로 정렬된다.
ongoing noti 는 X close button 이 없다. 그래서 Clear all(지우기) button 에 영향을 받지 않는다.
NotificationCompat.Builder.setProgress( int max, int progress, boolean indeterminate );
Notification Bar 에 progress bar 를 띄운다.
Indeterminate 의 경우는 bar 의 형태를 띄긴 하지만, 정확한 progress 는 알 수 없다.
NotificationCompat.Builder.setSubText( CharSequence text );
세번째 줄에 표시되는 text.
이 녀석을 setProgress 와 함께 표시하면 안 된다. 같은 위치이기 때문.
framework 에 따라 지원하지 않을 수 있기에 사용하지 않는 것이 강추.
NotificationCompat.Builder.setTicker( CharSequence tickerText );
noti 를 띄울 때 status bar에 함께 표시되는 내용을 정의한다.
NotificationCompat.Builder.setUsesChronometer( boolean b );
noti 를 띄울 때 timestamp 가 아닌 stopwatch 를 띄워준다. (noti 를 띄워준 시점부터 얼마나 지났나가 보여진다.)
참고사항
GingerBread ( 갤럭시 S ) 의 경우 setContentIntent 를 해주지 않으면 noti 가 아예 안 뜬다.
setProgress 도 작동 안 한다.
결론적으로 framework 에서 지원하지 않는 경우가 있기 때문에 이럴 경우 기획을 바꾸던가 해야한다.
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[android] ActionBar Compat 사용하기. (0) | 2013.11.26 |
---|---|
[Java] Reflection Tutorial - Field. (0) | 2013.11.22 |
[android] 요금이 부과될 수 있는 서비스( API ) 종류 (0) | 2013.11.18 |
[android] why margin_bottom value is not working? (0) | 2013.11.15 |
[Java] Reflection Tutorial - Constructor (0) | 2013.11.15 |
댓글