У меня есть приложение, которое устанавливает будильник с помощью AlarmManager, которое запускает другое действие, когда оно отключается. AlarmManager принимает PendingIntent и порождает класс BroadcastReceiver, когда наступает указанное время. Мне интересно, есть ли способ передать аргументы этому BroadcastReceiver через объект Intent, который входит в PendingIntent?
В основном я хотел бы сделать что-то вроде этого:
Intent my_intent = new Intent(this, BroadcastService.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, my_intent, 0);
my_intent.putExtra("arg1", arg1);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (1000), pendingIntent);
и я хотел бы иметь возможность получить arg1 в методе onReceive (Context, Intent) BroadcastReceiver. Я подумал, что локальная переменная my_intent будет вторым параметром, передаваемым в onReceive PendingIntent, но, видимо, это не совсем верно. Можно ли таким образом передавать параметры между Activity и BroadcastReceiver (используя Intent.putExtra ()) или вместо этого следует использовать ContentProvider?
Спасибо!
Ива