Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Sending a running application to background programmatically

Tags:

android

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 (input by the user). And I don't want the application to be visible when playing that sound and also the display should be dark.

like image 251
Mithraa Avatar asked Feb 09 '11 11:02

Mithraa


3 Answers

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

like image 115
neteinstein Avatar answered Nov 05 '22 00:11

neteinstein


This function ultimately works for you

moveTaskToBack(true)

Or download source code . Android minimize app programmatically

like image 11
Daniel Nyamasyo Avatar answered Nov 05 '22 01:11

Daniel Nyamasyo


Maybe play the sound from a service instead?

like image 3
ns476 Avatar answered Nov 04 '22 23:11

ns476