首页 > 解决方案 > 活动在完成计时器后自动返回

问题描述

我正在尝试制作一个健身应用程序,并且我添加了一个计时器和一个应该在计时器完成后响起的铃声。但是,当计时器结束时,它不会响铃并且整个活动会自动返回到之前的状态(所有锻炼的列表)。这是我的代码

countDownTimer = new CountDownTimer(60 * 1000, 1000) {
    @Override
    public void onTick(long millisUntilFinished) {
        String text = String.format(Locale.getDefault(), "%02d : %02d",
                TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished) % 60,
                TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) % 60);
        time.setText(text);
    }

    @Override
    public void onFinish() {
        mediaPlayer.start();
        time.setText("01 : 00");
        String txt = "Workout Completed";
        nextWorkout.setVisibility(View.VISIBLE);
        Toast.makeText(context, txt, Toast.LENGTH_LONG).show();

    }
};
countDownTimer.start();

媒体播放器代码

mediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.alarm);

标签: javaandroid

解决方案


这里的问题是您给出了错误的 Toast 上下文。

Toast.makeText(context, txt, Toast.LENGTH_LONG).show();

这就是问题所在。检查这里的上下文。


推荐阅读