首页 > 解决方案 > finish() 不处理活动。

问题描述

我从这里尝试了答案,但我无法完成一项活动。

这是代码:

  private void myMethod() {
    startActivity(startNewActivityOpen2);
    GlobalVars.questionHolders = null;  //is being called.  
    finish();
    amTransitioning = true;
  } 

调用活动以这些标志开始:

i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

我试过了

i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK);

但这没有用。

我可以看到完成被调用。我的日志猫说:

ActivityRecord 的重复完成请求{426f37f8 u0 com.assistek.ediary/.PRO_GridOther t5569 f}

活动继续以愉快的方式进行,但没有完成,我收到一个空指针错误,因为单例的值正在被清除。

标签: androidactivity-finish

解决方案


结束(); 不会以您认为它继续执行在finish()之后调用的任何代码的方式终止活动,您应该编写“return;” 完成后避免任何代码执行


推荐阅读