【发布时间】:2013-06-26 06:33:31
【问题描述】:
我知道要输入值我可以intent.putExtra(key, value) 并检索值我们可以intent.getStringExtra(key) 但在下面的代码中它的行为不符合预期。检索值时,我得到NUllPointer, printLn needs a message。
我设置值的代码:
public void SetAlarm(Context context, int seconds, String type) {
CustomLog.logBlue(Thread.currentThread().getStackTrace(), "set alarm");
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, AlarmManagerBroadcastReceiver.class);
intent.putExtra(ONE_TIME, Boolean.FALSE); //ONE_TIME = "oneTime"
intent.putExtra("c", "ayush");
PendingIntent pi = PendingIntent.getBroadcast(context, 0, intent, 0);
am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), seconds * 1000, pi);
CustomNotification.generateNotification(1, context, "Tracking enabled");
}
我正在检索 BroadcaseReceiver 的 onReceive 中的值: [省略无关代码]
@Override
public void onReceive(Context context, Intent intent) {
Bundle extras = intent.getExtras();
Log.e("test", extras.getString("c"); <------ ERROR
// also tried intent.getStringExtra("c");
}
【问题讨论】:
标签: android android-intent android-pendingintent