Android无法将意图附加功能传递给AlarmManager

时间:2017-08-14 16:12:14

标签: android android-intent android-alarms

我认为this可以解决我的问题,但事实并非如此。

我有这个代码发送警报:

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。

注意:可能有趣的是我的触发器方法是从我的ContentProvider中调用的。不知道这是否有助于您更好地理解我的问题。

2 个答案:

答案 0 :(得分:1)

使用 intent.getExtras()。getString(“ id”)

答案 1 :(得分:0)

我找到了。哇!我在我的代码的另一个区域发送了另一个警报,我没有把额外的东西放在上面。

执行ctrl f - > “.set(Alar”让我追踪那个小混蛋。