Multiple APK Support | Android Developers

AlertDialog 를 이용하는 방법과 PopupMenu를 이용하는 방법이 있다.

AlertDialog를 이용하는 경우

PopupMenu를 이용하는 경우

PendingIntent는 생성시에 Intent obj와 고유한 id를 parameters로 받아들이게 되는데 삭제하는 경우 이들을 이용한다.

예를 들어 AlarmManager를 이용한 PendingIntent의 경우는 

아래와 같이 해결한다. ref) https://stackoverflow.com/questions/9493776/how-to-remove-already-defined-pending-intent

Rewrite the code in CancelAlarm() function

 PendingIntent pintent = PendingIntent.getService(context, IDs[i], 
                send, PendingIntent.FLAG_CANCEL_CURRENT 
                        | PendingIntent.FLAG_ONE_SHOT); 

With The Same Intent send and Same Id IDs[i] and then Cancel that pintent like this,

pintent.cancel();