안드로이드 버전 : 2.3.3(진저브레드)
언어: 자바
툴 : 이클립스
      
 AUTO_CANCEL과 INSISTENT가 공존을 못하는 것 같습니다. finish() 함수를 써야하나요?
동작 방식에 대해 설명을 드리자면 set 버튼을 누른 후 정해진 시간에 알람이 울리면 상단에 통지가 뜹니다. 

문제는 .FLAG_AUTO_CANCEL만 쓰면 알람이 한 번만 울립니다.
FLAG_INSISTENT를 쓰게 되면 알람이 반복적으로 울리긴 하는데 아무리 아이콘을 클릭해도 이 아이콘이 삭제되지 않습니다. 즉 .FLAG_AUTO_CANCEL기능을 하지 않습니다.

두 개를 다 써도 마찬가지입니다. finish 함수를 쓰면 뭔가 될 것 같기는 합니다. finish 함수 자체가 Activity를 죽이는 것이니까요. 그런데 잘 모르겠습니다. 어떻게 써야할지...

정말 안드로이드 초보로서 짜깁기, 뽀록으로 완성시킨 것인지라... 뭐라 할 말이 없네요. 

수많은 예제들이 있지만 어떻게 해야하지 구체적으로 모르겠습니다.
가능하다면 최대한 자세히 코드를 적어주시면 감사하겠습니다. 뭔가 간단한 듯 하면서도 모르겠습니다.
 
 

notif.flags 이부분을 중점적으로 봐주세요^^

필요하시다면 다른 부분의 소스코드도 보여드리겠습니다.



소스코드
 package please.test.excute;
import android.app.*;
import android.content.*;
import android.net.*; 
import android.provider.MediaStore.*; 
import android.widget.*;
public class AlarmReceiver extends BroadcastReceiver {
 
    @Override  
    public void onReceive(Context context, Intent intent) {  
 
        Toast.makeText(context, R.string.app_name, Toast.LENGTH_SHORT).show();  
 
        showNotification(context, R.drawable.ic_launcher,   
 
                 "상대바에 대한 ID", "상태바에 대한 ID보다 더 디테일한 ID"); //뒤에 두 텍스트는 어디에 쓰이는지 잘 모르겠다.
 
    }  
 
      
 
    private void showNotification(Context context, int statusBarIconID,   
 
                      String statusBarTextID, String detailedTextID) {  
 
        Intent contentIntent = new Intent(context, IwanttestsecondalarmActivity.class);  
 
        PendingIntent theappIntent =   
 
                PendingIntent.getActivity(context, 0, contentIntent, PendingIntent.FLAG_UPDATE_CURRENT);
        //만일 이미 생성된 PendingIntent 가 존재 한다면, 해당 Intent 의 내용을 변경.
        CharSequence from = "알람";  // 알람이 울린 후 타이틀명
 
        CharSequence message = "무슨짓을 해야  알람이 꺼질까요?";  //알람이 울린 후 드래그해보면 있는 내용
        Notification notif = new Notification(statusBarIconID, null, System.currentTimeMillis());
 
        notif.sound = Uri.withAppendedPath(Audio.Media.INTERNAL_CONTENT_URI, "3");
        // ringURI;
        // 지정한 시간에 울리는 알람의 경우 여기서 지정한 소리에서 알람이 울립니다.
        //  즉 set 버튼으로 지정한 시간에 여기서 지정한 소리가 울립니다.
        
       
        
         notif.flags = Notification.FLAG_INSISTENT; // 사용자의 응답이 있을 때 까지 반복
        
        notif.flags = Notification.FLAG_AUTO_CANCEL; // notification Icon 클릭시 icon 이 사라짐
        //두 개를 같이 쓰니 INSISTENT가 안 먹힘 순서를 바꾸면 CANCEL이 안 먹힘 
        //finish를 써야할 것 같긴 한데 어떻게 써야할지 잘 모르겠음
        
        notif.setLatestEventInfo(context, from, message, theappIntent); 
        //notification에 등록될 메시지에 대한 제어
        NotificationManager nm = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE); 
        nm.notify(1234, notif); 
        //notification의 고유 id(1234)와 notification 객체를 통해 관리한다.
        
    }
}  


공지사항을 다 읽었음