3

I have activity A with recipes that opens activity B for more options for a recipe.
In activity B I'm doing an action (like adding to favorites) that finishes activity B.
When doing that action, I'm triggering a Talkback announcement so that the user knows the action has been completed successfully.
However, the announcement gets interrupted halfway through because activity B is finishing and Talkback starts announcing activity A instead.

How can I make sure that Talkback announcements are not interrupted? Is there any way to change the priority in the API (similar to live regions?)

I also tried adding a Toast, but the toast announcement gets interrupted as well...

Any suggestions?
Thanks!

1 Answers1

1

I have run into issues like these as well. I did not find a way to stop interruptions, but generally use the following approaches to get around the issues:

  1. Keeping announcements short whenever possible. "Item With A Long Name has been saved to your favorites list" is too long, at that point user has a lot of context and has an expectation of what is going to happen, so short announcement is usually fine. Something like "Favorited"/"Saved" is to the point and takes way less time to be announced! This is important with translations as well, some languages are so much longer than others.

  2. Used carefully and only very infrequently: Adding a delay. Send announcement, set a timer for 500ms or whatever it needs to be, accounting for translations lengths too, finish activity after that. This is something that ideally will not need to be used a lot: only for very important announcements which shouldn't be missed! Having delays could badly affect user experience, so for me this is the last strategy.

sigute
  • 1,143
  • 12
  • 21