我正在尝试将变量(long)从活动传递给服务,我有以下内容 在活动中:
myIntent = new Intent(SetAlarm.this, Service.class);
pendingIntent = PendingIntent.getService(
SetAlarm.this,
(int)reminderId,
myIntent,
0
);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
bundle = new Bundle();
bundle.putLong("reminderId", reminderId);
myIntent.putExtras(bundle);
alarmManager.set(AlarmManager.RTC_WAKEUP, timeInMillisec, pendingIntent);
在我的服务中:
Bundle bundle = intent.getBundleExtra("bundle");
CurrentreminderId = (long)bundle.getLong("reminderId");
不知怎的,我只是抓不住这个提醒的价值,任何想法?非常感谢任何帮助,谢谢大家。
答案 0 :(得分:1)
以下是我一直使用并且似乎工作的东西。 试试看。您可能错误地收到了额外内容。
Intent intent = new Intent(this, SecondActivity.class);
Bundle b = new Bundle();
// see Bundle.putInt, etc.
// Bundle.putSerializable for full Objects (careful there)
b.putXXXXX("key", ITEM);
intent.putExtras(b);
startActivity(intent);
// -- later, in Activity or service
Bundle b = this.getIntent().getExtras();
int i = b.getInt("key");
答案 1 :(得分:0)
而不是
Bundle bundle = intent.getBundleExtra("bundle");
你应该这样做:
Bundle bundle = intent.getExtras();