«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

올해는 머신러닝이다.

[안드로이드]사용자 알람 간단한 예제 본문

Android/Tip&Tech

[안드로이드]사용자 알람 간단한 예제

행복한 수지아빠 2010. 11. 24. 21:03
단계별 구현방법

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);
 }
}