2013-11-18 3 views
0

У меня есть существующее действие с MediaPlayer, который все еще запущен после вызова onStop().Intent extras не изменен

Я хочу перезагрузить это действие, но передавая ему разные дополнительные значения.

  Intent intent = new Intent(WelcomeScreen.this, PlayMusic.class); 
      intent.putExtra("plan", 0); 
      intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
      startActivity(intent); 

Но, этот дополнительный «застрял» с одинаковыми значениями, независимо от того, что я наложил на новое намерение.

Любые идеи?

+2

Ваш вопрос мне не ясно. «У меня есть существующая активность с MediaPlayer, который все еще работает после того, как onStop() был вызван». вы не выпускаете медиа-плеер в onStop? – Raghunandan

+0

нет, я не знаю. Мои медиа продолжают играть. Вот почему я использую FLAG_ACTIVITY_REORDER_TO_FRONT. Я не хочу воссоздавать деятельность, просто изменяю некоторые ее свойства. –

ответ

0

Как вы четко указываете, вы создаете новый объект Intent. Какими бы ни были параметры, связанные со старым намерением, тот, который использовался для первоначального создания Activity, не затрагивался.

Однако, вы можете получить доступ к новому Intent переопределив onNewIntent() метод на данный вид деятельности:

@Override 
protected void onNewIntent(Intent intent) 
{ 
    super.onNewIntent(intent); 

    if (intent != null && intent.hasExtra("plan")) 
    { 
     // Yay! Do whatever... Live long... Prosper... 
    } 
} 
+0

спасибо, я думаю, что это сделает. –

Смежные вопросы