I have a media application which starts playback when the intent is sent to the player activity with the following intent extras; data "path to the music" and type "mime/audio format".
I pick up the intent data at the player activity execute to start playback and I remove the passed extras from the intent to avoid having the same request going again after flipping the screen or the activity being brought back to the foreground.
This is how I process an intent:
final String data = getIntent().getDataString();
final String type = getIntent().getType();
// start playback
requestPlay( data, type );
// remove intents because they are needed only once per call!
this.getIntent().setDataAndType(Uri.parse(""), "");
this.getIntent().removeExtra("data");
this.getIntent().removeExtra("type");
The issue I'm having is that randomly and rarely, I will open the application and when it resumes at the player activity, the intent will contain the previous extra data and start playing... This is annoying to me and well my users...
Anyone have any ideas what's the best way to clear the intents data? Some reason the ActivityManager might be keeping this data stored...?
Thanks!
-Jona