从静态方法完成活动

JoC*_*uTo 1 static android activity-finish

我想在类中执行静态方法来完成一个活动.我的意思是这样的:活动A,活动B,活动C,类活动杀手.Class ActivitiesKiller有一个静态方法来完成活动A,B或C.

一个例子:我的runnig类是B,我想完成活动A,所以我将调用:

ActivitiesKiller.activityKiller(A);
Run Code Online (Sandbox Code Playgroud)

那可能吗?.提前致谢

我正在做这样的事,但它不起作用.

public class ActivitiesKiller {
 //.....

public static void activityKiller(Activity activity){ 
activity.finish();}


}
Run Code Online (Sandbox Code Playgroud)

Epi*_*rce 6

虽然听起来不是一个好主意,但您需要做的是对创建时的活动进行静态引用,并在销毁时将其置零.

public class ActivityA extends Activity
{
    public static Activity self;

    @Override
    public void onCreate(Bundle saveInstanceState)
    {
       super.onCreate(saveInstanceState);
       self = this;
    }

    @Override
    public void onDestroy()
    {
       super.onDestroy();
       self = null;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后你需要做以下事情

public class ActivitiesKiller 
{
    public static void activityKiller(Activity activity)
    { 
        if(activity != null)
        {
            activity.finish();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

您可以称之为

ActivitiesKiller.activityKiller(ActivityA.self);
Run Code Online (Sandbox Code Playgroud)