1.NotificationManager 인스턴스를 확보한다.
2.Notification 인스턴스를 생성하고 아이콘,알림메시지 문자열,알림메시지 발생시각등을 지정한다.
3.PandingIntent 인스턴스를 생성하고 알림 메시지를 클릭했을때 실행할 엑티비티(NotifyMessage)를 대상으로 지정한다.
4.setLatesEventInfo()메소드를 사용해 알림메시지를 클릭하면 알림메세지에 대한 제목과 내용을 표시하고,사용자가 알림메시지를 클릭하면 인텐트를 던져 엑티비티를 실행한다.
5.알림메세지 개수값을 하나 증가시킨다.
6.NotificationManager에 Notification인스턴스를 넘겨 알림메세지를 표시한다.
package org.exam;
import java.util.Timer;
import java.util.TimerTask;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class HandlerExampleAct extends Activity {
/** Called when the activity is first created. */
private static final int NOTIFY_ME_ID = 1337;
private Timer timer = new Timer();
private int count = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn = (Button)findViewById(R.id.btn1);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
TimerTask task = new TimerTask(){
@Override
public void run(){
notifyMe();
}
};
timer.schedule(task, 5000);
}
});
btn = (Button)findViewById(R.id.btn2);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
NotificationManager mgr =
(NotificationManager)getSystemService(NOTIFICATION_SERVICE);
mgr.cancel(NOTIFY_ME_ID);
}
});
}
private void notifyMe() {
// TODO Auto-generated method stub
final NotificationManager mgr = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
Notification note =new Notification(R.drawable.icon,"알림메세지",System.currentTimeMillis());
PendingIntent i =PendingIntent.getActivity(this, 0, new Intent(this,NotifyMessage.class), 0);
note.setLatestEventInfo(this, "알림제목", "알림메세지 본문입니다", i);
note.number = ++count;
mgr.notify(NOTIFY_ME_ID,note);
}
=============================================================================================
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class NotifyMessage extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView txt=new TextView(this);
txt.setText("알림 메시지!");
setContentView(txt);
}
}
'Android > Tip&Tech' 카테고리의 다른 글
안드로이드 2.2 변경사항(안드로이드프로그래밍정복 책참고) (0) | 2010.11.25 |
---|---|
[펌]안드로이드 Intent 그리고 PendingIntent 와 Intent Sender (0) | 2010.11.24 |
[펌]안드로이드2.2에서 마켓 설치하기 (0) | 2010.11.23 |
[펌]android : View 에 있는 것을 Bitmap으로 저장 / Bitmap으로 된 것을 읽기 (0) | 2010.11.23 |
[펌]안드로이드 (Android) Bitmap 구현, 관리 하기 (0) | 2010.11.23 |