只有对Context的引用时关闭当前活动

Bud*_*ril 68 android android-context android-activity

如果我有参考Context,是否可以完成当前的活动?

我没有参考当前的活动.

2re*_*d13 222

是的,有演员:

((Activity) ctx).finish();
Run Code Online (Sandbox Code Playgroud)

  • 如果`Context`实际上是应用程序上下文,这可能会导致问题. (3认同)
  • 只有它是当前活动,否则非当前活动将完成:) (2认同)
  • 我看没有问题。如果它是应用程序上下文,则 classcastexception 将强制关闭您的应用程序,并用它完成所有活动! (2认同)

Ala*_*tti 12

我知道这是一个老帖子,但也许以这种方式调用它可能是一个好主意:

if(context instanceof Activity){
                ((Activity)context).finish(); }
Run Code Online (Sandbox Code Playgroud)

这样我们就可以确保我们不会得到任何不必要的ClassCastExceptions


Kar*_*amy 11

在我的案例之后工作,

我需要在AsyncTask onPostExcute()中完成我的活动.

我的AsyncTask类是单独的公共类,它有一个带有Context的参数的构造函数.

((Activity)(mContext)).finish();
Run Code Online (Sandbox Code Playgroud)

只有以上对我有用...无论如何,我从@ 2red13和@lucy的答案得到了这个想法...感谢所有......