要在应用之间交换数据,我创建了2个应用程序,一个是UI应用程序,另一个是后台应用程序,通过设置alternate entrypoint
我找到了一个similar question,却无法得到我需要的帮助
我可以创建Global Events and a Global Listener,
但我的问题是如何将数据从一个应用程序传输到另一个应用程序
在UI APPLICATION中,我们可以发布globalEvent
ApplicationManager.getApplicationManager().postGlobalEvent(0xba4b84944bb7);
在后台应用程序中,我们可以收听并发送确认
public void eventOccurred( long guid, int data0, int data1, Object object0, Object object1)
{
//Is this the GlobalEvent we are waiting for?
//Long = com.samples.globalEventFiring.GlobalEventListening
if (guid == 0x7d3a74a5ccfe6483L)
{
//Yes it is.
System.out.println("Acknowledgement received.");
UiApplication.getUiApplication().invokeLater(new Runnable()
{
public void run()
{
Dialog.alert("Event was fired and acknowledged.");
}
});
}
}
但是如何将数据从后台应用程序传输到ui应用程序。如何在UI应用程序中访问后台应用程序的数据或对象。
答案 0 :(得分:3)
您可以使用Runtime storage作为中心位置,在后台和UI线程之间共享数据。
答案 1 :(得分:2)
您可以在事件系统中使用int和Object参数在应用程序实例之间传递数据。发布事件时,请使用带有整数和对象的postGlobalEvent重载。并且在事件处理程序中,根据需要向下转换object0或object1。