Wysyłam intencję, która zostanie odebrana przez odbiornik, ponieważ aplikacja nadal działa i nowe zamiary są uruchamiane przez usługę alarmową, ale odbiornik pokazuje poprzednie zamiary wartość. Jak na docs odbiornik broadcast nie jest już aktywny po powrocie onReceive(), więc odbiornik powinien pokazać następne wartości intencji, które są uruchamiane przez usługę alarmową, ale tak się nie dzieje, czy ktoś może powiedzieć prawidłowe podejście.Wysłanie nowego zamiaru do odbiornika transmisji daje dodatkowe wartości z poprzedniego zamiaru
To od aktywności na nadawanie zamiar:
Intent intent = new Intent(SCH_ALARM_ACTION);
intent.setClass(getBaseContext(), SchAlarmReciever.class);
intent.putExtra("id", maxId);
PendingIntent pi = PendingIntent.getBroadcast(getBaseContext(),
0,
intent,
0);
alarmManager.set(AlarmManager.RTC, gc.getTimeInMillis(), pi);
Jest to broadreceiver:
@Override
public void onReceive(Context context, Intent data)
{
// TODO Auto-generated method stub
if(data.getAction().equals(SchedulerActivity.SCH_ALARM_ACTION)){
int id = data.getIntExtra("id",0);
Toast.makeText(context, "in receiver "+String.valueOf(id), Toast.LENGTH_LONG).show();
}
tutaj tosty pokazuje identyfikator, który jest wysyłany przez pierwszy audycji z alarmservice nawet gdy drugi intencją jest zwolniony z alarmservice (drugi alarm czasu)
Czy możesz opublikować fragment kodu? –
Robię coś podobnego TUTAJ !!! http://stackoverflow.com/questions/14571564/android-pendingintent-extras-not-received-by-broadcastreceiver/14612215#14612215 – toobsco42