1
본질적으로 내 안드로이드 응용 프로그램 내부의 다른 응용 프로그램에 인터페이스를 제공하고 있습니다. 클라이언트는 특정 시간에 표시 될 새 로컬 알림을 예약 할 수있는 시스템을 요청했지만 모든 로컬 예약 알림을 취소 할 수도 있습니다. AlarmManager와 함께 사용하면서 PendingIntent 객체에 자동으로 (실제로 무제한) requestCodes (/ id)를 할당하는 방법이 있습니까?자동으로 requestCodes를 PendingIntent.getBroadcast에 할당 (AlarmManager 사용)
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, requestCode, someNotificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
...
AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, futureTimeInMillis, pendingIntent);
나는 또한 requestCodes의 트랙을 유지하지 않고 모든 보류중인 의도을 취소 할 수 있도록하려면
:
for(int requestCode : somehowGetAllUsedRequestCodes){
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, requestCode, someNotificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
pendingIntent.cancel();
alarmManager.cancel(pendingIntent);
}
수동으로 요청 코드를 추적하지 않고 그 일조차 할 수 있습니까?
충분합니다. 내부 추적이 있는지 궁금 해서요. 감사! –
나는 SharedPreferences를 사용하여 끝냈다. –