I see very strange things. I added writing to log file at the beginning of the intent. I saw that there is strange pattern:

There are events (printing to the log at the beginning of the intent procedure) every 5 minutes, but sometimes I see nothing in the log file for some time period, and then I see many events at once. The number of the events that run together (one after the other) seems to be the number of events I would expect to appear during the time period where no event was fired.

Any advice? What could it be? I didn't find any evidence to such behaviour. Maybe it is something in my own device?

EDIT:
I added a print to the log when the broadcast receiver was fired. I saw that the broadcast is received every five minutes, but the intent is not being run!

I also added a unique id to each intent, as was offered by Irfan Ahmed, but it didn't solve the problem:

Why does it matter? What does the unique id gives me. Do you think that I receive the broadcast every five minutes, but the intent is not fired? If so, then what exactly happen (who fire the intent later)?
–
Gari BNDec 19 '13 at 7:37

using unique id, you can set different alarms that will not overwrite on each other.
–
Irfan AhmedDec 19 '13 at 7:43

Android reuses the pending intents, rewriting the payload they carry. Irfan is right, you must use unique ID's when creating the intents, in order to prevent override. I also had this problem in the past.
–
Cristian HoldunuDec 19 '13 at 7:45

COMMENT: Where should I put these lines? In the SetAlarm or in the onRecieve? Because you mentioned pendingIntent, I put them in the SetAlarm method, and it does not work. See edition of the question for the new details.
–
Gari BNDec 19 '13 at 11:47

i supposed, you could have understand from that idea, anyhow, i am gonna update my answer!
–
Irfan AhmedDec 19 '13 at 11:48