【发布时间】:2017-12-13 12:14:36
【问题描述】:
我有一堂课public class Alarm implements Serializable。这里面有一个方法:
public void schedule(Context context) {
setAlarmActive(true);
Intent myIntent = new Intent(context, AlarmAlertBroadcastReciever.class);
Bundle bundle = new Bundle();
bundle.putSerializable("alarm", this);
myIntent.putExtras(bundle);
//myIntent.putExtra("alarm", this);
Alarm alarm = (Alarm) bundle.getSerializable("alarm");
if(alarm !=null){
Log.d("Alarmdebug", "alatm is not null");
}
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, myIntent,PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager alarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, getAlarmTime().getTimeInMillis(), pendingIntent);
}
我在其他地方有此代码。哪个无法获得serialized 附加功能。这会被调用,但 alarm 始终是 null。
Bundle bundle = intent.getExtras();
final Alarm alarm = (Alarm) bundle.getSerializable("alarm");
if(alarm==null){
Log.d("Alarmdebug", "alarm is null 2");
}
你能告诉我这段代码有什么问题吗?我在这里尝试了解决方案:Passing data through intent using Serializable,但它对我不起作用。
谢谢
编辑
任何正在寻找解决方案的人现在都可以在下面找到它。
【问题讨论】:
标签: java android android-bundle