我有A,B和C类.A类向B发送意图,B运行C,C运行返回B .....但是然后在B类的onCreate内部它想要A类的意图。但是因为它来自C级它没有得到它但我仍然需要A类的意图
有关如何解决此问题的任何想法?我想一个解决方案可能是将extra.getString存储在数据库或类似的中?
Bundle extras = getIntent().getExtras();
newString = extras.getString("ID");
答案 0 :(得分:5)
由于我不确切知道您的活动流程,这是一个解决方案,但可能不合适。
当您开始新活动时,请额外添加
intent.putExtra("ID_FROM_A", value); // except for ActivityA value = mIdFromA
startActivity(intent);
关于接收活动
onCreate()
{
mIdFromA = getIntent().getStringExtra("ID_FROM_A");
}
答案 1 :(得分:2)
所以,如果我做得对:
Activty A:
Activty B
活动C
现在:活动C:
使用finish()或
再次启动活动B?
如果为1,当您返回活动B时,它仍会包含您在首次创建时设置的所有内容。因此,您需要从onCreate of B中的意图中提取所有内容。
如果为2,您只需要在用于开始每项活动的意图中向下传递信息。
如果你能(a)确认序列是什么以及(b)澄清为何上述行为无效,我相信我们可以向前迈进。
答案 2 :(得分:0)
您可以从A类获得意图,并提供额外的证明“它是A类”,然后将其设置为本地意图;
rename("Behnama.msi", "Behnama_$ar[1].msi");