Я пытаюсь отправить сериализуемый объект в ожидающее намерение. Проблема заключается в том, что принимаемый сигнал тревоги возвращается как null. Несмотря на то, что Alarm реализует сериализуемый интерфейс.Пропустить Serializable Object to Pending Intent
//AlarmService.java
Intent myIntent = new Intent(getApplicationContext(), AlarmAlertBroadcastReciever.class);
Bundle bundle = new Bundle();
bundle.putSerializable("alarm", alarm);
myIntent.putExtras(bundle);
PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, myIntent, PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager alarmManager = (AlarmManager)getApplicationContext().getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, alarm.getAlarmTime().getTimeInMillis(), pendingIntent);
Принятая тревога является нулевой.
//AlarmAlertBroadcastReceiver.java
public class AlarmAlertBroadcastReciever extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Alarm alarm = (Alarm)intent.getExtras().getSerializable("alarm");
}
}
Edit: еще несколько вещей, которые я пробовал следующим образом, но это не похоже на работу:
//AlarmService.java
Intent myIntent = new Intent(getApplicationContext(), AlarmAlertBroadcastReciever.class);
myIntent.putExtra("alarm", alarm);
myIntent.setAction("abc.xyz");
PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, myIntent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager)getApplicationContext().getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, alarm.getAlarmTime().getTimeInMillis(), pendingIntent);
Сигнал принимается равна нулю.
//AlarmAlertBroadcastReceiver.java
public class AlarmAlertBroadcastReciever extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Alarm alarm = (Alarm)intent.getExtras().getSerializable("alarm");
//Alarm alarm = (Alarm)intent.getSerializableExtra("alarm");
}
}
Возможный дубликат [Как передать пользовательские Serializable объект BroadcastReceiver через PendingIntent] (http://stackoverflow.com/questions/39209579/how- to-pass-custom-serializable-object-to-broadcastreceiver-through-pendingintent) – 0X0nosugar