Android:尽管在上一个Activity上调用了finish(),但仍然获取Intent

时间:2012-04-04 06:38:08

标签: android android-activity android-intent

我的用例如下:

在活动A中我打电话:

startActivity(B);
finish();

现在在onBreate of Activity B我需要知道开始B的活动,所以我想知道在活动B的onCreate(...)中我是否打电话:

getIntent();

我是否能够获得启动Activity B的Intent或者此时getIntent()已经返回null,因为我在调用startActivity(B)后立即完成了Activity A?

2 个答案:

答案 0 :(得分:5)

这里

Intent intent = new Intent(A.this, B.class); 
intent.putExtra("activityStarted", "A"); 

和活动B

String started = getIntent().getExtras().getString("activityStarted");

答案 1 :(得分:1)

在第一个活动中,使用下面的代码启动新活动并重新启动method()以完成活动::

Intent intent = new Intent(ThisActivity.this, NextActivity.class); 
intent.putExtra("Key", "Value");
startActivity(intent);

@Override
    protected void onRestart() {
        // TODO Auto-generated method stub
        super.onRestart();
        finish();
    }

在第二次活动中::

String started = getIntent().getStringExtras("Key");