Как передать пакет из действия в службу из ожидающего намерения? - PullRequest
0 голосов
/ 24 октября 2011

Я пытаюсь передать переменную (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");

Каким-то образом, я просто не мог взять это значение памятки, какие-нибудь идеи? Любая помощь будет принята с благодарностью, спасибо кучу.

Ответы [ 2 ]

1 голос
/ 24 октября 2011

Вот то, что я всегда использую и, кажется, работает.Попробуйте это.Возможно, вы неправильно получаете дополнительные услуги.

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");
0 голосов
/ 24 октября 2011

Вместо

Bundle bundle = intent.getBundleExtra("bundle");

вы должны сделать это:

Bundle bundle = intent.getExtras();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...