I want to create notification that when it clicked will bring my app to front but without changing (reload or navigate out) the last activity that was shown.
I tried:
setContentIntent(PendingIntent.getActivity(context, 0, new Intent(context, MainActivity.class), Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT))
But in the new Android 4.3 the application brought to front, but its also start a new instance of MainActivity
, and I don't want this.
I want that my app will continue from the last activity that was shown.
How to do that?
You don't ever set Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT
. That flag is set by Android when it brings the activity to the front. You setting it has no effect.
There's a few ways to do what you want. Check out this answer
Working solution for me was :
//Resume or restart the app (same as the launcher click)
val resultIntent = Intent(context, MyLauncherActivity::class.java)
resultIntent.addCategory(Intent.CATEGORY_LAUNCHER)
resultIntent.setAction(Intent.ACTION_MAIN)
resultIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
val pendingIntent = PendingIntent.getActivity(context, 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT)
builder.setContentIntent(pendingIntent) //builder is the notificationBuilder
Add this " Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP " instead of " Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT "
Explained here
Hope this helps.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.