Это мой второй ответ.
В случае, если вам нужно перезапустить первое действие (если оно уничтожено) из второго, вы также можете использовать onSaveInstanceState(Bundle outState)
для сохранения состояния воспроизведения звука в
В первом действии
@Override
public void onSaveInstanceState(Bundle outState) {
outState.putBoolean("isPlayed",true);
super.onSaveInstanceState(outState);
}
В onCreate()
первом действии
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null && savedInstaceState.getBoolean("isPlayed") == false) {
new Timer().schedule(new TimerTask() {
@Override
public void run() {
MediaPlayer play= MediaPlayer.create(MainActivity.this,R.raw.audioboatarde);
play.start();
}
}, 1000);
}
}
Позже вы можете перезапустить первое действие из второе действие.
button = view.findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent1 = new Intent(getContext(), MainActivity.class);
startActivity(intent1);
}
});
Не забудьте остановить воспроизведение звука при первом действии.
@Override
public void onPause() {
super.onPause();
play.stop();
}