У меня есть действие, которое отсчитывает 60 секунд, однако, если пользователь отходит от действия, используя кнопку «Назад» на экране или нажимая кнопку «Назад» на Android, мне нужен таймер обратного отсчета для отмены или простопродолжается в фоновом режиме.Вот код, который я должен запустить таймер:
import android.os.CountDownTimer
class GamePlay : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// play music, though it's cutting out after 15 seconds for some reason
var musicPlayer: MediaPlayer? = MediaPlayer.create(this, R.raw.backgroundmusic)
musicPlayer?.start()
// start the timer
object : CountDownTimer(60000, 1000) {
override fun onFinish() {
val intent = Intent(applicationContext,Results::class.java)
startActivity(intent)
}
override fun onTick(p0: Long) {
time.text = ""+p0/1000
}
}.start()
}
}
// function for clicking the back button on screen
fun goToMainMenu(view:View){
val intent = Intent(applicationContext,MainMenu::class.java)
startActivity(intent)
}
Я бы подумал, что это будет в духе CountDownTime.cancel()
, но я не могу понять, как это сделать, и я незнаю, как я могу заставить это сделать это, если пользователь также использует кнопку возврата системы.
Любые указатели оценены.