Как отменить приложение без задачи в фоновом режиме

#java #android #task

#java #Android #задача

Вопрос:

Привет, я создаю приложение, когда использую функцию медиаплеера. И когда, например, я закрываю приложение, этот носитель все еще работает в фоновом режиме. Как остановить целые задачи в приложении?

                     final Random rand = ThreadLocalRandom.current();
                    tv3.setText(kombosy[new Random().nextInt(kombosy.length)]);

                    int resourceID=R.raw.rin1;

                    switch (tv3.getText().toString()) {
                        case "1-2":
                            resourceID =  R.raw.rin1;

                            break;
                        case "1-1-2":
                            resourceID =  R.raw.rin2;

                            break;
                        case "1-2-3-2":
                            resourceID =  R.raw.rin3;
                            break;
                        case "1-2-5-2":
                            resourceID =  R.raw.rin4;

                            break;
                        case "1-6-3-2":
                            resourceID =  R.raw.rin5;

                            break;
                        case "2-3-2":
                            resourceID =  R.raw.rin6;

                            break;


                    }
                    plyer=MediaPlayer.create(this,resourceID);
                    plyer.start();


                }
 

Комментарии:

1. Вы должны вызвать mediaplayer stop и close перед завершением вашей деятельности. Если вам нужна дополнительная помощь, пожалуйста, опубликуйте здесь некоторый код, чтобы определить, с какой проблемой вы столкнулись

2. Я отредактировал свой вопрос

Ответ №1:

Создайте экземпляр медиаплеера глобально

 MediaPlayer player;
 

Ваш случай переключения должен выглядеть следующим образом

Вы можете получить идентификатор ресурса мелодии звонка в инструкции switch-case, а затем создать отдельный объект медиаплеера.

 int resourceID = R.raw.rin1;
switch (tv3.getText().toString()) {
    case "1-2":
        resourceID =  R.raw.rin1;
        break;
    case "1-1-2":
        resourceID =  R.raw.rin2;
        break;
    case "1-2-3-2":
        resourceID =  R.raw.rin3;
        break;
    case "1-2-5-2":
        resourceID =  R.raw.rin4;
        break;
    case "1-6-3-2":
        resourceID =  R.raw.rin5;
        break;
    case "2-3-2":
        resourceID =  R.raw.rin6;
        break;
}
 

Создайте MediaPlayer экземпляр, подобный этому

 player = MediaPlayer.create(this, resourceID);
player.start();
 
 

Чтобы остановить ваш медиаплеер, вызовите этот метод :

 private void stopPlaying() {
    if (player != null) {
        player.stop();
        player.release();
        player = null;
    }
}
 

Комментарии:

1. где я должен использовать этот код player = MediaPlayer.create(this, resourceId); player.start();

2. Потому что, когда я ставлю это после моей функции переключения, я получаю эту ошибку

3. не найден подходящий метод для create(<анонимный таймер обратного отсчета>, int) plyer=MediaPlayer.create(this,resourceId);

4. Вы должны создать медиаплеер после инструкции switch case.

5. Все еще не работает, я отредактировал свой код в своем вопросе