从扩展 CountDownTimer class 调用 Activity

Call an Activity from an extend CountDownTimer class

我在 45 分钟内 CountDownTimer 延长了 class。 我想在 CountDownTimer 完成时(在 onFinish 中)调用一个新的 Activity,无论用户在哪里(ActivityFragment)。

我该怎么做?

这是我的计数器 class :

    public class Counter  extends CountDownTimer {

    private static long millis;
    private static Counter instance;

    private Counter(long millisInFuture, long countDownInterval){
        super(millisInFuture,countDownInterval);
    }

    public static Counter initInstance(){
        instance =  new Counter(2700000, 1000);
        return instance;
    }

    public static Counter  getInstance() throws Exception{
        if(instance==null){
            throw new Exception("Parameters not initialized. Initiate with initInstance");
        } else{
            return instance;
        }
    }

    public boolean isFinish(){
        return millis <= 0;
    }


    @Override
    public void onTick(long l) {
        millis = l;
    }

    @Override
    public void onFinish() {
        // THIS IS WHERE I WANT TO CALL A NEW ACTIVITY !
    }
}

我这样称呼我的柜台:

Counter counterClass = Counter.initInstance();
counterClass.start();

您只需将一个 Context 发送到您的计数器的构造函数,将其作为属性保存在您的计数器中,然后像这样调用您的计数器:

Counter counterClass = Counter.initInstance(getApplicationContext());
counterClass.start();

然后在结束时您可以正常开始 activity:

context.startActivity()