I have an application with the following activities:
A->B->C
On C
I am using the following code to play an mp3 file in loop when my web service returns true (which we check for periodically):
void PlayBeepLoop()
{
try {
if(player.isPlaying())
return;
AssetFileDescriptor descriptor = getAssets().openFd("beep.mp3");
player.reset();
player.setDataSource(descriptor.getFileDescriptor(), descriptor.getStartOffset(), descriptor.getLength());
descriptor.close();
player.prepare();
player.setVolume(1f, 1f);
player.setLooping(true);
player.start();
} catch (Exception e) {
e.printStackTrace();
}
}
The problem is that if I go from C->B
on pressing back, I believe the loop keeps on running and it beeps when it returns true.
Following code on C
also does not work:
public void onBackPressed() {
super.onBackPressed();
finish();
}
Please help
PS: I need the beep to stop only when the back button is pressed. Pressing home button while app is still showing C
should allow the beeps to happen, when the app is in background.