2014-11-06 4 views
0

Мой дизайн приложение немного отличается ..getExtras всегда null?

Activity--> Activity---> B ----> Activity c ---- Activity D после этого он должен идти, как

ActvityD--> Activity A 

В активность D:

    Intent intent= new Intent(D.this,A.class); 
       Bundle bundle= new Bundle(); 
       bundle.putString(Constant.AB , "ABCD"); 
       intent.putExtras(bundle); 


       startActivity(intent); 

В деятельности A

OnStart

Intent intent= getIntent(); 

    Bundle extras =intent.getExtras(); 
    if (extras != null) 
    { 
     String val = getIntent().getStringExtra(Constant.AB); 

     if(val.equals("ABCD")){ 
      m_myApp.getCurrentPlaybackHelper(1); 
      Log.e(TAG,"Remote play is working"); 
     } 
    } 

все остальное всегда должно быть null.did я пропустил что-нибудь?

+2

если A уже запущен, может быть рассмотрено 'onNewIntent'? – njzk2

+0

@ njzk2 спасибо и так много – Asthme

ответ

0

Как уже указывалось njzk2, активность А будет получать новое намерение с вашими дополнительными услугами только в onNewIntent(). Однако метод getIntent() по-прежнему возвращает исходное намерение, используемое для начала деятельности.

Итак, попробуйте переместить свою логику от onStart() до onNewIntent() (используя намерение, переданное в метод), и у вас должны быть дополнительные функции.

+0

спасибо, что так много сработало ... – Asthme

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