stu*_*ght 5 android android-intent android-activity
你好老运动!
至此,我有3项活动如下:
- 活动A.
- 活动B.
- 活动C.
在活动AI中创建转到活动C的意图:
Intent intent=new Intent(getActivity(),C.class);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
在活动BI中也创建了转到活动C的意图:
Intent intent=new Intent(getActivity(),C.class);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
如果来自A和B,活动CI将会做一些不同的事情.
问题是"如何让活动C知道活动A或B是否正在呼叫的最佳做法是什么?
- 缺乏英语,来自巴厘岛的问候..
您可以将具有意图的参数传递给另一个活动,这样您就可以知道哪个活动已启动.
Intent intent=new Intent(getActivity(),C.class);
intent.putString("activity","A"); // and same goes for B
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
在活动C中,
Intent intent = getIntent();
String previousActivity= intent.getStringExtra("activity");
Run Code Online (Sandbox Code Playgroud)
您在这里可以做的是,您可以传递一个值,例如flag = "A"
何时来自Activity A
和flag = B
何时来自Activity B
via,Intent
并在Activity C
...中获取该值。
Intent intent = new Intent(this, C.class);
intent.putExtra("flag", "A");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
Intent intent = new Intent(this, C.class);
intent.putExtra("flag", "B");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
Intent intent = getIntent();
String checkFlag= intent.getStringExtra("flag");
if(checkFlag.equals("A");
// It is from A
else
// It is from B
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1877 次 |
最近记录: |