0

我想在活动之间制作加载页面。
因此,我尝试制作新的 Activity 仅用于加载,但存在一个问题。
我无法通过使用意图来获得“活动”价值,例如,

 Intent i = new Intent(activity1.this, activity2.class); 
 i.putExtra("Activity", activity1.this);
 startActivity(i);

但是,我无法获得此额外值,因为没有“getActivityExtras()”。
我怎样才能做到这一点..?

4

2 回答 2

3

您无法从意图对象获取活动,但您可以从该方法获取活动名称:

intent.getComponent().getShortClassName()

注意: 如果您的活动文件在文件夹中,则方法的结果包含文件夹名称。“活动”文件夹中的活动文件示例:

.activities.SubActivity1

并且必须使用来自:

intent.getComponent().getShortClassName().split("\\.")[2]
于 2015-06-17T11:49:54.383 回答
1
// define NAME in Activity 1
public const NAME = "Activity1";       

Intent i = new Intent(activity1.this, activity2.class); 
i.putExtra("Activity", "Activity1.NAME");
startActivity(i);

// in Activity 2
activity = getStringExtra("Activity");

switch(activity) {
 case Activity1.NAME:
 // do whatever you want here
 break;

}

于 2013-02-15T07:10:14.120 回答