【问题标题】:Not Finishing Activity in Android未在 Android 中完成 Activity
【发布时间】:2013-08-12 07:35:32
【问题描述】:

我在 android 中有一个注册表单,用户可以从中输入数据。用户可以搜索诊所。搜索后,用户提交记录并注销。如果用户与该应用程序没有业务关系,则用户可以退出,但当用户按下退出按钮时,它不会退出,而是会重新进入搜索活动,即使用户已经注销。谁能帮我弄清楚为什么我无法完成我的活动?

搜索活动

btn_Close.setOnClickListener(new OnClickListener() {
        public void onClick(View v)
        {
            Intent myIntent = new Intent(getApplicationContext(), RegForm.class);
            myIntent.putExtra("from", "Search_Cancel");

            startActivity(myIntent);
            Search.this.finish();
        }
    });

Android 清单

    <activity
        android:name=".Search"
        android:noHistory="true" > 
    </activity>

【问题讨论】:

标签: android activity-finish


【解决方案1】:

活动以this.finishActivity(Activity.RESULT_OK); 呼叫结束。
注意:您还可以将位于 Activity 类中的其他结果指定为静态最终结果。

【讨论】:

    【解决方案2】:

    finish() 将使您的活动活动从后台堆栈中弹出,但您的其他活动将保留在该位置上,因此如果您想退出整个应用程序,您应该在启动最后一个活动时使用标志 FLAG_ACTIVITY_CLEAR_TOP 以清除您的后台堆栈

    【讨论】:

    • 当您使用 Intent 启动 Activity 时,添加此标志,如:intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); } 然后开始你的活动。
    • 我应该使用finish()吗?
    • 是的,如果你希望你的最后一个活动结束,那么你必须使用完成,更多信息:developer.android.com/guide/components/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-03
    • 2014-12-12
    • 1970-01-01
    • 2011-11-27
    相关资源
    最近更新 更多