Android获得以前的活动
我有2个活动: Activity1
和Activity2
。 在每个活动中都有一个button,让我进入第三个活动( MainActivity
)。 在MainActivity
我想知道从哪个活动页面被调用。
您可以使用Intent的putExtra属性来传递活动的名称。
调用活动,
Intent intent = new Intent(this, Next.class); intent.putExtra("activity","first"); startActivity(intent);
下一个活动,
Intent intent = getIntent(); String activity = intent.getStringExtra("activity");
现在,在string活动中,您将获得来自哪个活动的名称。
您可以使用:
public ComponentName getCallingActivity()
要知道哪些活动称为您当前的Activity
。
使用putExtra()来确定以前的活动。
Intent i = new Intent(Activity1.this, MainActivity.class).putExtra("from", "activity1"); startActivity(i);
要检查主要活动中的活动,
if(getIntent().getStringExtra("from").equals("activity1")){ //From Activity 1 }else { // Activity 2 }
ActivityManager am = (ActivityManager) this.getSystemService(Activity.ACTIVITY_SERVICE); String packageName = am.getRunningTasks(1).get(0).topActivity.getPackageName(); String className = am.getRunningTasks(1).get(0).topActivity.getClassName();
我们已经设置了权限:
<uses -permission="-permission" android:name="android.permission.GET_TASKS"> </uses>
当你从一个活动转移到另一个活动时,你可以传递下面给出的活动名称
Intent i = new Intent(this, deliveries.class); i.putExtra("ActivityName", "ActivityOne"); startActivity(i);
并检查其他活动中的活动名称
Bundle extra = getIntent().getExtras(); String activityName = Long.parseLong(extra.getSerializable("ActivityName") toString());
我认为这可以解决你的问题
- 在android中使用arrayadapter类定制listview
- CalledFromWrongThreadException:只有创build视图层次结构的原始线程才能触及视图
- 广播接收机内的服务
- setVisibility(GONE)视图变得不可见,但仍占用空间
- Android Studio 0.4复制在APK META-INF / LICENSE.txt中复制的文件
- 如何清除gradlecaching?
- Android手机上最stream行的屏幕尺寸/分辨率
- 从strings.xml中的另一个string引用一个string?
- 你可以改变分钟吗? 在Eclipse中的Android应用程序的API级别?