【问题标题】:Finish not working on activity完成不从事活动
【发布时间】:2017-07-01 13:42:59
【问题描述】:

我正在尝试完成一项活动。代码正在执行,但活动仍停留在后台。

此问题仅出现在带有 OS (6.0.1) 的三星 S5 上。在其他设备上一切正常。

这里是代码。

Intent intent = new Intent(AccessTokenReceiverFitbit.this, PairDeviceStatusActivity.class);
                        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
                        intent.putExtra("fragment_to_load", "wearable");
                        startActivity(intent);
                        finish();

请告诉我是什么问题。

【问题讨论】:

  • 代码执行后,你之前的activity在任务栈中是否可见?当您从新 Activity 按下返回时,它是带您回到旧 Activity 还是关闭应用?
  • 先做finish()然后开始活动
  • 试试 this.finish();
  • @Queendevelopers 试试这个,但没有帮助
  • @esmailjamshidiasl 试试这个,但没有帮助

标签: android android-intent android-activity android-6.0-marshmallow activity-finish


【解决方案1】:

使用 API 21+,您应该能够通过调用 finishAndRemoveTask() 来确保从最近删除的活动中删除。对于较旧的三星手机,这并不总是有效。

您可以通过在 AndroidManifest.xml 中将 android:excludeFromRecents="true" 添加到 Activity 的 <activity> 标记来防止将 Activity 添加到最近。

【讨论】:

    【解决方案2】:

    试试你的意图

    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    

    如果这没有帮助,请检查您在 logcat 中的日志。

    【讨论】:

    • 试试这个,但没有帮助
    猜你喜欢
    • 1970-01-01
    • 2013-03-25
    • 1970-01-01
    • 1970-01-01
    • 2012-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多