2012년 1월 17일 화요일

[Android] PendingIntent의 Extra값이 바뀌지 않는 경우...


Alarm 이나 Notification 에 Intent를 등록 하려면 PendingIntent를 이용하여 Intent를 전달 해야 한다.
하지만 아래와 같이 하게 되면 희안하게도 Intent에 집어 넣은 Extra값이 바뀌지 않는 경우가 있다.

Intent intentToSend = new Intent();
intentToSend.setAction("SOME_ACTION");
intentToSend.putExtra("SOME_EXTRA", 7777); 
                      /* 777이 않바뀜 ㅜ_ㅠ */

PendingIntent pendingIntent = PendingIntent.getActivity(getContext(), 0, intentToSend, 0);

문제는 getActivity 메소드의 마지만 인수인 flag 값에 있었다.
해당 플래그를 다음과 같이 바꿔줘야 매번 갱신된 값이 반영되게 된다.

PendingIntent pendingIntent =  PendingIntent.getActivity(getContext(), 0, intentToSend, PendingIntent.FLAG_UPDATE_CURRENT);



댓글 2개:

  1. 이거때문에 3시간동아 소스를 도데체 얼마나 봤는지 모르겠네요..ㅠㅠ 감사합니다!!!

    답글삭제
  2. 감사합니다. 덕분에 해결했네요~

    답글삭제