Intent to start activity - but don't bring to front
30,036
Solution 1
if you want your activity to be in background add this line in the oncreate of activity
moveTaskToBack(true);
Solution 2
You can use this line in your onCreate()
method:
moveTaskToBack(true);
Solution 3
You don't want to start an Activity
in the background. There are better ways to do what you want. You can have your Activity
register to receive the broadcast Intent
, for example. It will get the call to onReceive()
even if it is in the background. You can determine if your Activity
is in the background by setting a variable to true
in onPause()
and to false
in onResume()
. Then in onReceive()
, if the variable is true
you are in the background.
Author by
pulancheck1988
Updated on June 14, 2020Comments
-
pulancheck1988 about 4 years
Description:
- Activity A is visible (or in the background)
- Intent I is received by a broadcast with valuable extras and then passes the extras to a new Intent I2 that will be used to start activity A.
- Outcome: Do not bring activity to front if activity is in background.
Code:
Intent I2= new Intent(context, MyActivity.class); I2.putExtra(.. I2.setFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK); // | Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(I2);
Note: I added no "android:taskAffinity" to manifest.. i thought you should know