c# - Android AlarmManager (sometimes) provides extra notification -


i working on application uses alarmmanager generate notification user @ later date. alarm arrives (on devices tested) 1 device (samsung galaxy tab3, android 4.4.2) receives 2 notifications (presumably 1 alarmmanager, , 1 broadcast receiver of app). code both of course same, , haven't seen issue before.nexus 5 galaxy tab

the code written in c# xamarin, pretty vanilla. alarmmanager creates broadcast broadcast filter picked elsewhere in app (and works fine):

private pendingintent createintent (models.notifications.localnotificationmodel notification, pendingintentflags flag) { if (notification.isactive) { //create broadcast intent var broadcastintent = new intent (broadcastfilter);

            //add information receiver of should done notification             var id = notification.id;             var message = notification.message;             var badgenumber = notification.badgenumber;             var dateofevent = notification.eventdatetime;             var iconpath = notification.iconpath;             var isactive = notification.isactive;             var isoverride = notification.isoverride;              //needs information create notification             broadcastintent.putextra (id, id);             broadcastintent.putextra (message, message);             broadcastintent.putextra (dateofevent, dateofevent.toshortdatestring () + " " + dateofevent.toshorttimestring ());              //get broadcast pending intent             var source = pendingintent.getbroadcast (_context, (int)id, broadcastintent, flag);              return source;         }         return null;     }      public void add(models.notifications.localnotificationmodel notification)     {         if (!_isinitialized)             throw new applicationexception("localnotificationservice not initialized");          var source = createintent (notification,pendingintentflags.oneshot);          //convert notification milliseconds since epoch         var sinceepoch = notification.eventdatetime.touniversaltime() - new datetime(1970, 1, 1);         var mssinceepoch = (long)sinceepoch.totalmilliseconds;          //assign pending intent alarmmanager         _alarmmanager.set(alarmtype.rtcwakeup, mssinceepoch, source);     } 

it error on part, there proof of concept version of application on tablet, different app used same bundle id, , result received same broadcast.


Comments

Popular posts from this blog

angularjs - ADAL JS Angular- WebAPI add a new role claim to the token -

php - CakePHP HttpSockets send array of paramms -

node.js - Using Node without global install -