본문 바로가기

소프트웨어/Android/Java/Ndk

Android] PendingIntent의 Noti값이 onReceive시 변하지 않을때

PendingIntent contentIntent = PendingIntent.getActivity(context,  0, intentAD,  PendingIntent.FLAG_UPDATE_CURRENT);



만약 노티에 다음과 같이 펜딩인텐트 설정을 하였다면, 여러개의 노티가 날라와도 값이 바뀌지 않는다. 왜냐하면 getActivity의 두번째인자인 requestCode가 같으면 같은 인텐트로 인식하기때문에 여러 노티가 똑같은 펜딩인텐트로 인식이된다.



그래서 다음과같이


PendingIntent contentIntent = PendingIntent.getActivity(context,  (int) System.currentTimeMillis(), intentAD,  PendingIntent.FLAG_UPDATE_CURRENT);


시스템의 시간을 노티의 request code로 잡아주면 잘 된다.