Мобильные приложения ( при их разработке в Андроид Студио на Java ) зачастую используют функционал обмена широковещательными сообщениями. Обмениваться сообщениями могут объекты классов и в рамках одного приложения, и за пределами текущей активности.
Сообщение представлено объектом "intent". Intent Отправляется в "эфир" посредством "sendBroadcast".
Приёмником для сообщения станут объекты классов тех приложений, у которых активен приёмник широковещательных сообщений, настроенный на приём сообщений от конкретного "источника".
Делаем мобильной платформе такой приёмник.
Package.zip необходимо загрузить в макет внешней компоненты. Приём сообщений на мобильной платформе реализуется в форме ( у меня обработка )
Необходимо задействовать метод формы связанный с внешним событием
Код модуля формы:
&AtClient
Var ExtLib;
&AtClient
Procedure OnOpen ( Cancel )
AttachAddIn ( "CommonTemplate.Broadcasts", "Sample", AddInType.Native );
ExtLib = New ( "AddIn.Sample.Simons" );
//Кирилица
//ExtLib.ИсточникИменаДействийФильтраНамерений = "OrdersPlusDelivery|ЧерезЧертуУказываемИменаИсточниковОтправителейСообщенийКоторыеХотимСлушать|ИхМожетБытьМного";
//ExtLib.СобытиеИменаНамерений = "msgHead|ЧерезЧертуУказываемИменаИнтентовВнутриСообщенияКоторыеБудутИнтерпретированыКакПараметрНомерДваПроцедурыОбработкиВнешнегоСобытия";
//ExtLib.ДанныеИменаНамерений = "msgBody|АналогичноДляПараметраНомерТри";
//ExtLib.Приём(); //Пуск приёмника широковещательных сообщений
//ExtLib.Отбой(); //Стоп
//Латиница
ExtLib.SourceIntentFilterActionsNames = "OrdersPlusDelivery";
ExtLib.EventIntentsNames = "msgHead";
ExtLib.DataIntentsNames = "msgBody";
Lib.RegisterReceiver();
//ExtLib.UnregisterReceiver();
EndProcedure
&AtClient
Procedure ExternalEvent ( Source, Event, Data )
If Source = "OrdersPlusDelivery" Then
If Event = "CheckInn" Then
//Например
ExtLib.UnregisterReceiver();
Else
//
//Ваши действия
//
EndIf;
Else
//
//Ваши действия
//
EndIf;
EndProcedure
Работа компоненты проверена на платформе 8.3.15.59.