2014-11-06 49 views
0

我的应用程序的设计有点不同..getExtras总是空?

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 2014-11-06 18:03:06

+0

@ njzk2非常感谢你 – Asthme 2014-11-06 18:21:33

回答

0

正如njzk2已经指出的那样,活动A只会在onNewIntent()中收到您的附加费用。然而,getIntent()方法仍然会返回用于首先启动活动的原始意图。

因此,请尝试将您的逻辑从onStart()移动到onNewIntent()(使用传递给方法的意图),并且您应该有Extras。

+0

非常感谢你的工作...... – Asthme 2014-11-06 18:21:08