Android:如何通过使用intent获取活动价值?

时间:2013-02-15 02:14:17

标签: android android-intent android-activity

我想在活动之间加载页面  因此,我尝试仅为加载创建新活动,但有一个问题  通过使用像

这样的意图,我无法获得“活动”价值
 Intent i = new Intent(activity1.this, activity2.class); 
 i.putExtra("Activity", activity1.this);
 startActivity(i);

但是,由于没有'getActivityExtras()',我无法获得此Extra值  我怎么能这样做??

2 个答案:

答案 0 :(得分:2)

萨拉姆。

您无法从intent对象获取活动,但您可以从此方法获取活动名称:

intent.getComponent().getShortClassName()

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

.activities.SubActivity1

并且必须使用:

intent.getComponent().getShortClassName().split("\\.")[2]

答案 1 :(得分: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;

}