Лучший способ объяснить Activity Pointer - это то, что он является базовым классом для производных классов, таких как Email и Phone Call.
Activity Pointer инкапсулирует базовые атрибуты любого действия, поэтому, если вы создаете пользовательское действие, онотоже будет расширяться от Activity Pointer.
Из этого имеет смысл, что Activity Pointer содержит значения State и Status всех действий, но также имеет смысл, что к нему нельзя получить доступ из SetStateRequest.
Iпредставьте себе, что фактическое состояние действия «Открыто», «Закрыто», «Запланировано», «Отменено» применимо ко всем действиям, но состояние индивидуально для каждого действия.
Например.задача может быть открыта, но ее причина статуса также может быть открыта, в то время как электронная почта также может быть открыта, но ее причина статуса «Ожидание отправки»
Из-за этого различия SetStateRequest, вероятно, не позволит вам выполнитьэто на ActivityPointer, но это будет на каждом отдельном объекте активности.
С точки зрения выполнения того, что вы намеревались сделать, поддерживаемым способом было бы получить все связанные действия по отдельности, а затем выполнить запрос установленного состояния.
Вы можете делать все сразу, как хотите, но это может привести к некоторой «неподдержке», поскольку вам, вероятно, придется делать это непосредственно в базе данных.Однако при установке состояния «Завершить» причина состояния также должна отражать статус, принадлежащий этому состоянию.В противном случае я считаю, что действия будут ошибочными.
Так что, к сожалению, я не могу найти изящный способ обойти это, но, пожалуйста, обновите, если вы найдете один!