使用上下文完成活动

问题描述

我遇到了这个问题,我不明白为什么它没有完成活动:

      if (activity instanceof MainActivity) {

        Timber.e("==> logout is running");

        Intent i = new Intent(activity,SplashActivity.class);
        activity.startActivity(i);
            ((MainActivity) activity).finish(); // this cast to have finish method
}

我检查了 logcat ,我发现

“==>注销正在运行”

但什么也没发生,应用程序还在那里。

解决方法

然后我调试了几分钟,我发现完成只适用于 FragmentActivity 而不是 MainActivity(我不知道为什么)。

但对我来说的解决方案是:

 ((FragmentActivity) activity).finish();