getExtras总是null?

时间:2014-11-06 18:01:56

标签: android bundle

我的应用程序设计有点不同......

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");
        }
    }

额外的东西总是空的。我想念什么吗?

1 个答案:

答案 0 :(得分:1)

正如njzk2已经指出的那样,活动A只会在onNewIntent()中收到你的额外内容。但是,getIntent()方法仍会返回用于首先启动活动的原始意图。

所以尝试将你的逻辑从onStart()移动到onNewIntent()(使用传递给方法的意图),你应该在那里有额外的东西。