-4
私はクラス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しかし、それは私のためには動作しません。
あなたはEDIT解決策を探して
誰もが今の下にそれを見つけることができますありがとうございました。