super.onBackPressed()和finish()退出应用

时间:2018-06-23 08:40:31

标签: android

我有两个活动,即; MyPostActivity和FeedReactionsActivity。 我使用意图从MyPostActivity导航到FeedReactionsActivity。

以下是返回代码。

btnBack.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                finish();
            }
        });

@Override
public void onBackPressed(){
    super.onBackPressed();
}

但是无需退出应用程序即可退出。我认为MyPostActivity已从活动堆栈中删除。

如何检查情况?如果没有,为什么我的应用程序退出?

编辑:添加了从MyPostActivity导航到FeedReactionsActivity的代码。

// Set click listeners
                vh1.cvContentHolder.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        Intent intent = new Intent(MyPostActivity.this, FeedReactionsActivity.class);
                        intent.putExtra("mainFeedThumbnailDTO", thumbnailDTO);
                        startActivity(intent);
                    }
                });

编辑2:清单代码

<activity
            android:name="com.hootout.MyPostActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:hardwareAccelerated="true"
            android:screenOrientation="portrait"
            android:theme="@style/AppTheme.FullScreen.White"
            android:windowSoftInputMode="adjustPan|stateHidden"
            android:noHistory="true"/>

<activity
            android:name="com.hootout.FeedReactionsActivity"
            android:label="@string/title_activity_feed_reactions"
            android:screenOrientation="portrait"
            android:theme="@style/AppTheme.FullScreen.Dark" />

我发现了我的错误。我设置了android:noHistory =“ true” 将其删除后,应用程序运行正常。

3 个答案:

答案 0 :(得分:1)

删除

android:noHistory="true" 
清单(PostActivity)中的

。 noHistory =“ true”的值表示该活动将不会留下历史痕迹。它不会保留在任务的活动堆栈中,因此用户将无法返回到该任务。

答案 1 :(得分:0)

我认为,当您从MyPostActivity切换时,您会在其中调用finish()函数。如果这样做,请尝试删除呼叫

答案 2 :(得分:0)

我在清单文件中为MyPostActivity设置了android:noHistory =“ true”。

已将其删除,并且应用程序不再退出。