BroadcastReceiver에 보낼 다중 인 텐트를 예약하고 있습니다. 모든 인 텐트 간의 차이점은 수신 할 시간과 이에 포함 된 추가 데이터입니다.AlarmManager로 특정 PendingIntents 취소하기
이제 사용자가 특정 알람을 취소 할 수 있도록해야합니다. AlarmManager.cancel() 자바 독에 의하면, filterEquals 방법을 사용 의도를 비교 :
http://developer.android.com/reference/android/content/Intent.html#filterEquals(android.content.Intent)
이제 문제 filterEquals에있어서, 내 의도가 동일하다는 것이다. "조치, 데이터, 유형, 클래스 및 범주"에 대한 메소드 점검.
고유 데이터는 의도적 인 번들 또는 AlarmManager의 시간으로 표시됩니다. 만들 것
intent.setData(Uri.withAppendedPath(Uri.EMPTY, "some_unique_data"));
모든 의도 독특한 filterEquals 방법에 따라하지만,이 같은 데이터를 변경 한 후, 내 의도는 더 이상 브로드 캐스트 리시버에 도달하지 않습니다 사용 - 예를 들어, 나는 이러한 매개 변수를 변경했습니다.
filterEquals에 따라 모든 의도를 변경하고 내 간단한 BroadcastReceiver에 여전히받을 수있는 데이터의 특정 비트는 무엇입니까?
아마도 내 수신기를 어떤 방식 으로든 수정할 수 있습니까?
requestCode라고하는 PendingIntent.getBroadcast 메소드에는 매개 변수가 있지만 문서에는 "requestCode 보낸 사람에 대한 개인 요청 코드 (현재 사용되지 않음)"라는 매개 변수가 있습니다. 즉,이 코드가 어떤 식 으로든 사용되지 않거나 보류중인 의도를 취소하기위한 고유 ID로 지정할 수 있습니까? – Kostas
답변을 수락 할 수 있습니까?그러면 열려있는 질문 목록에서이 질문을 제거하고 비슷한 문제가있는 다른 사람을 도울 수 있습니다. 감사. –