Android父活动不在后台堆栈上

时间:2016-09-08 08:46:44

标签: android android-activity stack

我有父活动,当我点击按钮然后启动子活动startActivityForResult

所以问题是当我开始子活动时,父动作不再在堆栈上,当子活动返回结果时,没有父活动返回,所以我得到NullPointerException

我正在使用此cmd检查堆栈

adb shell dumpsys activity | grep -i run

当我运行其他一些活动时(来自我正在使用的其他sdk),我的应用程序在堆栈上有两个活动。

我如何实现该状态,以便我的自定义子活动返回到父级,并且当我调用子活动时父级活动不会从堆栈中获取?

运行活动时可能还有一些标志?有什么想法吗?

编辑:

开始主要活动(来自登录活动)

Intent intent = new Intent(appContext, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
appContext.startActivity(intent);

启动子活动(在这种情况下只是常规活动以进行测试):

 Button scan = (Button) dialog.findViewById(R.id.dummy_layout);
        scan.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                Intent cameraIntent = new Intent(MainActivity.getContext(),DummyActivity.class);
                startActivity(cameraIntent);
            }
        });

清单中的活动:

<activity
            android:name=".activity.MainActivity"
            android:label="@string/title_activity_main" />
        <activity
            android:name=".activity.DummyActivity"
            android:label="@string/title_activity_main"
             />

更新:

在我按下DummyActivity时调试的一个时刻,它们都在堆栈上,并且应用程序返回到MainActivity但是我之前在MainActivity中使用的对象都丢失了,所以我得到空指针。

似乎当我开始我的孩子活动时,我正在使用的所有床单都被系统自动解雇。

是的,我收到了大量的'android.os.PersistableBundle', referenced from method com.app.activity.MainActivity.access$super错误。那可能是件事吗?

0 个答案:

没有答案