我以为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表示额外的即时消息接收为NULL。
注:可能有趣的是,我的触发器是从ContentProvider中调用的。不知道这是否有助于您更好地理解我的问题。
我找到了。哇!我在代码的其他区域发送了另一个警报,没有在其中添加其他内容。
执行ctrl f->“ .set(Alar”让我追踪这个小混蛋。
使用intent.getExtras()。getString(“ id”)