2017-08-14 72 views
1

我認爲this可以解決我的問題,但它不會。Android無法將意圖附加組件傳遞給AlarmManager

我有這樣的代碼送我報警:

public void triggerAlarm() { 
    AlarmManager alarmManager = (AlarmManager) getContext().getSystemService(ALARM_SERVICE); 
    alarmManager = (AlarmManager) getContext().getSystemService(ALARM_SERVICE); 
    Intent intent = new Intent(getContext(), AlarmReceiver.class); 
    intent.putExtra("Id", nextDue.id.get() + ""); 
    String passed = intent.getStringExtra("Id"); 
    Log.d("DEBRRUG", "The extra im passing: " + passed); 
    PendingIntent pendingIntent = PendingIntent.getBroadcast(getContext(), i++, intent, PendingIntent.FLAG_UPDATE_CURRENT); 
    alarmManager.set(AlarmManager.RTC_WAKEUP, soonest.dueTime.get(), pendingIntent); 
} 

我DEBRRUG語句表示正在傳遞的額外爲8

這是我的報警接收器:

@Override 
    public void onReceive(Context context, Intent intent) { 
     String passed = intent.getStringExtra("Id"); 
     Log.d("DEBRRUG", "The extra im receiving: " + passed); 
    } 

這裏,我的DEBRRUG statemnt表示額外的im接收是NULL。

注意:可能有趣的是,我的TriggerAlarm方法是從我的ContentProvider中調用的。不知道這是否有助於您更好地理解我的問題。

+0

https://stackoverflow.com/q/39573849/1979882 – Vyacheslav

+0

我看到了,但我不這樣做任何與parcleable對象.... ?? –

+1

我看不出你的代碼裏面有什麼問題,這就是爲什麼我只是寫了評論,這不是一個答案,只是一個建議閱讀。 – Vyacheslav

回答

0

我找到了。哇!我在我的代碼的另一個區域發送另一個警報,在那裏我沒有額外的。

做CTRL的F - >「.SET(阿拉爾」讓我追查小兔崽子