Is it possible to send a activity into background programmatically in android?
I am creating a prank application that plays funny sounds after a specified time (inpu
This function ultimately works for you
moveTaskToBack(true)
Or download source code . Android minimize app programmatically
To expand on the answer by @ns476, the reason you should play it from a service is that any Activity
that is no longer in the foreground can be killed at any time by the OS. Please review the activity lifecycle.
Maybe play the sound from a service instead?
Yes.
You can use either:
boolean sentAppToBackground = moveTaskToBack(true);
if(!sentAppToBackground){
Intent i = new Intent();
i.setAction(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_HOME);
this.startActivity(i);
}
More information here: http://developer.android.com/reference/android/app/Activity.html#moveTaskToBack(boolean)
Or simply:
Intent i = new Intent();
i.setAction(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_HOME);
this.startActivity(i);
According to Romain Guy a Android Framework Engineer, "You cannot simulate a press on the Home key.". So beware...
Check: http://osdir.com/ml/Android-Developers/2010-03/msg01887.html
Updated this answer according to: moveTaskToBack(true) returns false always