2017-08-11 126 views
0

你好我試圖通過使用下面的代碼添加而集AlarmManager對象,傳遞使用AlarmManager意圖對象 - 接收器獲得空對象

try { 

      int when = (int)testDate.getTime(); 

      Intent intent1 = new Intent(mEventService, AlarmReceiver.class); 
      Bundle bundle = new Bundle(); 
      bundle.putSerializable(Contants.NOTIFICATION_DATA, (Serializable) event); 
      intent1.putExtras(bundle); 

      PendingIntent sender = PendingIntent.getBroadcast(mEventService, (int)when, intent1, PendingIntent.FLAG_UPDATE_CURRENT); //192837 

      // Get the AlarmManager service 
      AlarmManager am = (AlarmManager) mEventService.getSystemService(mEventService.ALARM_SERVICE); 
      am.setExact(AlarmManager.RTC_WAKEUP, when, sender); 

     } catch (ParseException e) { 
      e.printStackTrace(); 
     } 

在接收器類

public class AlarmReceiver extends WakefulBroadcastReceiver { 
@Override 
    public void onReceive(Context context, Intent intent) { 

Event event = (Event) intent.getSerializableExtra(Contants.NOTIFICATION_DATA); 
    } 
} 

在'onReceive'中,getSerializableExtra數據爲空。但是,當我通過一個字符串值而不是一個對象它工作正常。 請幫助我找出問題。

+0

'Event'是你的自定義課程?如果是這樣,那麼它必須由'Serializable'實現。必須檢查'事件'不應該'null' – Piyush

+0

@Piyush:我序列化'(可序列化)事件',並且事件不是空對象。 –

回答