离开应用程序并返回后,Intent返回null

时间:2015-12-16 02:19:52

标签: android android-intent

如果我留在应用程序中,这很好用

点击按钮转到我的新活动:

            intent.putExtra("invite_id", invite_id);
            startActivity(intent);

接收活动:

     Bundle b = getIntent().getExtras(); //invite id is in here

现在这是奇怪的部分。如果我在应用程序中,然后单击主页按钮离开应用程序并转到本机联系人应用程序并保存任何内容(如编辑名称或号码...... 只有在我实际保存某些内容时才会出现此问题),然后转到最近的应用程序并从那里打开我的应用程序...现在,如果我单击按钮启动我的意图将我带到一个新活动,接收活动将返回一个空包

     Bundle b = getIntent().getExtras(); //returns null

为什么会发生这种情况?

3 个答案:

答案 0 :(得分:0)

String b = getIntent()。getStringExtra(“invite_id”);

答案 1 :(得分:0)

在活动死亡和娱乐活动中,意图总是持续存在。因此,如果您要存储额外的价值,如果您使用最近的应用切换器恢复应用,它将继续存在。

我会验证你是否在意图中存储了值。

答案 2 :(得分:-1)

只是这意味着您的activity正在recreated,所以您必须选择避免这种情况:

  1. recreating activity设置为Activity
  2. 中的manifest,以避免android:configChanges="keyboardHidden|orientation|screenSize|locale" id
    @Override protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        outState.putString("myId",myId);
    }
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        if (savedInstanceState == null) {
            myId = getIntent().getExtras().getString("myId");
        }
    }
    
    1. 或者通过保存您收到的{{1}}实例:
    2. {{1}}