[안드로이드] PendingIntent 에서 putExtra 사용시 마지막 값 전달 문제점

 안드로이드에서 위젯 등을 개발할 때 PendingIntent 를 사용하게 됩니다. PendingIntent 를 사용하는데 Intent 에 putExtra 에 값을 넣고 setOnClickPendingIntent 를 했는데 마지막에 설정한 값으로만 전달이 되는 경우가 발생하는 경우가 발생할 수 있습니다. 만약 값이 없거나 과거에 설정한 값이 전달되는 경우는 아래 Flag를 설정하면 해결 될 수 있다고 합니다.

 PendingIntent.FLAG_UPDATE_CURRENT

 그렇지만 마지막 값으로만 전달되는 문제는 이렇게 해결이 되지 않았습니다. 결론은 putExtra 를 사용하지 않고 setData 를 사용하는 것입니다. 예를 들면 아래 코드와 같습니다.

 수정 전 : intent.putExtra(“Keyword”, keyword);
 수정 후 : intent.setData(Uri.parse(keyword));

 받는 쪽에서는 getData() 함수나 getDataString() 함수로 받아서 처리하면 됩니다.

 그리고 다음 페이지를 참고하셔서 더 정보를 얻으시길 바랍니다. http://angmang.tistory.com/514 

2 thoughts on “[안드로이드] PendingIntent 에서 putExtra 사용시 마지막 값 전달 문제점

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다