由于我不确定您的活动流程,所以这是一种解决方案,但可能不合适。
我有A,B和C类。A类向B发送意图,B运行C,C返回B .....但是,然后在B类的onCreate内,它需要A类的意图。因为它来自C类,所以没有得到,但是我仍然需要A类的意图
关于如何解决这个问题的任何想法?我想一种解决方案可能是将extra.getString存储在数据库或类似数据库中?
Bundle extras = getIntent().getExtras();
newString = extras.getString("ID");
所以,如果我做对了:
活动A:
活动B
活动C
现在:活动C:是否>
使用finish()返回到活动B,或
再次开始活动B?
如果为1,当您返回活动B时,它仍然具有您在初次创建时所设置的所有内容。因此,您需要从B的onCreate的意图中提取所有内容。
如果为2,则只需要按照用于开始每个活动的意图将信息向下传递给链。
[如果您可以(a)确认if的顺序,以及(b)阐明上述方法为什么行不通,我相信我们可以继续前进。
由于我不确定您的活动流程,所以这是一种解决方案,但可能不合适。
[当您开始新活动时,请多加一点
intent.putExtra("ID_FROM_A", value); // except for ActivityA value = mIdFromA startActivity(intent);
关于接收活动
onCreate() { mIdFromA = getIntent().getStringExtra("ID_FROM_A"); }
您可以从A类获得意图,并提供额外的证明“它是A类”,然后将其设置为本地意图;
extras = getIntent().getExtras();
String a = extras.get("KEY");
if (a.equlas("A_CLASS") {
class_a_extras = getIntent();
}
由于我不确定您的活动流程,所以这是一种解决方案,但可能不合适。
您可以从A类获得意图,并提供额外的证明“它是A类”,然后将其设置为本地意图;