请帮忙。 我试图从另外两个活动访问一个特定的活动,所以我不会写多个代码。 我从那些不同的活动中发送了相同类型的" putExtra"但是用不同的值来确定它来自的活动来源。
我想如果有人能告诉我我做错了什么。
抱歉,并提前致谢...
答案 0 :(得分:0)
您不需要发送额外的值来识别调用Activity
,这里有一个名为getCallingActivity()
的方法可以帮助您。
但如果您通过Activity
startActivityForResult()
,它只会返回非空值
以下是示例代码:
ComponentName callingActivity = getCallingActivity();
if (callingActivity != null)
{
String activityName = callingActivity.getShortClassName();
if (activityName.endsWith("INVOKING_ACTIVITY_NAME"))
{
//do stuff
}
}
答案 1 :(得分:0)
这是你要找的吗?
<强>活性1 强>
Intent i = new Intent(Activity1.this, DestinationActivity.class)
i.putExtra("OriginActivity", "Act1")
startActivity(i)
<强>活性2 强>
Intent i = new Intent(Activity2.this, DestinationActivity.class)
i.putExtra("OriginActivity", "Act2")
startActivity(i)
<强> DestinationActivity 强>
if (savedInstanceState == null) {
Bundle extras = getIntent().getExtras();
if(extras != null) {
if(extras.getString("OriginActivity").equals("Act1")){
// you came from Activity 1
}else if(extras.getString("OriginActivity").equals("Act2")){
// you came from Activity 2
}
等。