Android 获取intentextra和onCreate方法?

Android 获取intentextra和onCreate方法?,android,android-intent,oncreate,Android,Android Intent,Oncreate,我有A、B和C类。A类将意图发送给B,B运行C,C返回给B…..但在B类的onCreate中,它希望得到A类的意图。但是因为它来自C类,所以它没有得到它,但我仍然需要A类的意图 你知道怎么解决这个问题吗?我想一个解决方案可能是将额外的.getString存储在数据库或类似数据库中 Bundle extras = getIntent().getExtras(); newString = extras.getString("ID"); 由于我不知道您的活动流程,这是一个解决方案,但可能不是合适

我有A、B和C类。A类将意图发送给B,B运行C,C返回给B…..但在B类的onCreate中,它希望得到A类的意图。但是因为它来自C类,所以它没有得到它,但我仍然需要A类的意图

你知道怎么解决这个问题吗?我想一个解决方案可能是将额外的.getString存储在数据库或类似数据库中

Bundle extras = getIntent().getExtras();
 newString = extras.getString("ID"); 

由于我不知道您的活动流程,这是一个解决方案,但可能不是合适的解决方案

当你开始新的活动时,多放一点

intent.putExtra("ID_FROM_A", value); // except for ActivityA value = mIdFromA
startActivity(intent);
论接受活动

onCreate()
{
    mIdFromA = getIntent().getStringExtra("ID_FROM_A");
}

如果我没弄错的话:

活动A:

  • 创建intentAtoB
  • 开始活动B
活动B

  • 接收意向书
  • 创建intentBtoC
  • 开始活动C
活动C

  • 接收意向书
  • 做点什么
现在:活动C:

  • 使用finish()返回活动B,或

  • 再次开始活动B

  • 如果为1,当您返回活动B时,它仍将保留您在首次创建时设置的所有内容。因此,您需要在onCreate中从意图中提取所有内容

    如果是2,您只需要在开始每个活动时使用的意图中沿链传递信息


    如果你能(a)确认顺序是什么,如果(b)澄清上述方法不起作用的原因,我相信我们可以继续前进。

    你可以通过额外的证明“这是a类”从a类获得意图,然后将其设置为本地意图

    extras = getIntent().getExtras();
    String a = extras.get("KEY");
    
    if (a.equlas("A_CLASS") {
        class_a_extras = getIntent();
    }
    

    你的意思是:A->B->C->A(如你所写)还是A->B->C->B(如你稍后所暗示的)?哦,我很抱歉,我的意思是A->B->C->B。你唯一想要的是来自“ID”@user1876202的字符串。谢谢-我已经在下面列出了答案的开头,如果你能评论并回答其中的问题,我今天稍后会再看。接近
    1。使用finish()返回活动B,
    更好。只需将值存储在活动B的类级变量中,存储在活动B的
    onCreate()
    中。正如我在上面的回答中所建议的那样。@user370305我同意这是更好的方法,我只是想找出问题作者实际上在做什么,以帮助他们从哪里开始。