Can't stack anymore activities in Panel in immersive
Hi,
on v74 it was simple to stack activities into an immersive Panel (just start new activites from the one in the panel). With the v76 it doesn't behave like that anymore, it opens new activities in the home environment.
Since v74 is based on Android 12 and v76 on Android 14, I assume launching activities on top of the other in a panel may have changed. Sadly couldn't find the solution, nor any clear documentations.
Can somebody give me a hint 😉
Thx in advance.
Hi!
Thanks for flagging this! We are investigating, and we will get back to you.Ok. I found myself a solution. So to everyone who wants to stack activities inside a panel in immersive mode just do as follow.
1. Retrieve the android displayId of the panel you want to use to stack activities:
Didn't find a proper way to do it (especially if you have multiple panels), but a way to do it is to look up for display names starting with "VirtualDevice". If you are using only one panel get the virtual displayId of the panel:
(getSystemService(Context.DISPLAY_SERVICE) as DisplayManager).displays.firstOrNull { it.name.contains("VirtualDevice") }Then when you need to stack a new activity to the panel add some options to 'startActivity' method:
val options: ActivityOptions = ActivityOptions.makeBasic().setLaunchDisplayId(panelDisplayId) startActivity(yourIntent, options.toBundle())By doing so, activities will stack up onto the ones on your panel.
If someone has a better and proper solution, please feel free to add here your solution.
Also, people at Meta you should provide this trick on your documentation. It would help a lot of developer.
Thx.