프로그래밍과 잡담

[Notification] 다중 Notification 사용하기.. 본문

프로그래밍/안드로이드

[Notification] 다중 Notification 사용하기..

크레온 2012. 8. 31. 17:57



알림은 위에 스크린샷 처럼 되있는걸 보고 알림이라 한다.


알림 사용법:


* 전체 소스는  귀찮아서 안적음 


알림 부분만 쓰겠음..


//중략 
......

//알림을 터치했을때 뜰 엑티비티
Intent in = new Intent(this, 엑티비티.class);

//새로운 작업으로 실행
in.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

PendingIntent pin = PendingIntent.getActivity(this, id, in, 0);

// 순서대로 아이콘 id, 제목, 표시할 시각
Notification notification = new Notification(R.drawable.icon, "제목", System.currentTimeMillis());

// 이것을 쓰면 모든 알림이 뜰때 소리가 나고 LED가 반짝이며 진동이 온다.
//진동 쓸려면 User permission에서 vibrate를 설정해야한다.
notification.defaults = Notification.DEFAULT_ALL;

//LED 동작 플레그
notification.flags |= Notification.FLAG_SHOW_LIGHTS;
// 알림을 터치하면 자동으로 없어짐
notification.flags |= Notification.FLAG_AUTO_CANCEL;

notification.setLatestEventInfo(this, title, date, pin);

NotificationManager NM = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
NM.notify(id, notification);

...
...


다중 Notification을 하는데 가장 중요한 부분..


메소드 정의 부분이다.


public static PendingIntentgetActivity(Context context, int requestCode, Intent intent, int flags)


context 는 알아서 처리하고

requestCode는 이 부분을 똑같이하면  엑티비티가 안나온다. 다르게 써야한다.

intent 는 위에서 만든 인텐트 

flags는 0 으로 해도 PendingIntent에 들어 있는 걸 사용해도됨.


requestCode똑같이하고 다중알림을 사용할 경우에는 PendingIntent.FLAG_ONE_SHOT을 사용해된다.  

이 옵션을 사용하면 단 한개의 알림에서만 엑티비티가 실행되고 나머지는 실행안됨.



반복문이 아닌 다른 걸로 할 경우에는 내가 테스트를 안해봐서 모르겠는데  반복문에서는 이런 식으로 처리해야 된다.



끝이다.  실행되는 소스가 필요하다면 구글에서 검색하면 많이 나오므로... 생략!


반응형
Comments